如何在 Inno Setup 中获取当前的 Unix 时间戳?

发布于 2024-12-26 13:39:06 字数 43 浏览 0 评论 0原文

请让我知道如何在 Inno Setup 中获取当前的 Unix 时间戳?

Please let me know How to get current Unix timestamp in Inno Setup?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

橘虞初梦 2025-01-02 13:39:06

最简单的方法是使用 time() 来自 C 运行时库的函数,其返回值如下:

返回自 1970 年 1 月 1 日午夜以来经过的秒数,或者
出现错误时为 -1。

这正是 unix 时间戳

现在只需将该函数导入 Inno Setup 脚本即可。由于脚本环境不知道指针,因此参数(幸运的是不需要指向有效的缓冲区,请参阅链接的文档)以整数形式给出,并且您必须为其传递 0:

function Time(ATimerPtr: integer): integer; external '[email protected] cdecl';

function InitializeSetup(): Boolean;
begin
  MsgBox(Format('unix timestamp: %d', [Time(0)]), mbInformation, MB_OK);
end;

The easiest way is to use the time() function from the C runtime library, which has the following return value:

Return the time as seconds elapsed since midnight, January 1, 1970, or
-1 in the case of an error.

which is exactly what the unix timestamp is.

Now it's a simple matter of importing that function into Inno Setup scripting. Since the scripting environment doesn't know pointers the parameter (which luckily need not point to a valid buffer, see the linked documentation) is given as integer and you must pass a 0 for it:

function Time(ATimerPtr: integer): integer; external '[email protected] cdecl';

function InitializeSetup(): Boolean;
begin
  MsgBox(Format('unix timestamp: %d', [Time(0)]), mbInformation, MB_OK);
end;
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文