1

我正在为 slick-edit 编写一个宏(使用 C 类似语言 slick-C)
据我发现没有时间函数可以帮助我将纪元时间(1321357827)转换为人类可读的日期和时间

(如果你们中的任何人知道如何在 slick-C 中做到这一点,那太好了,你们中不知道的人 - 假设 C 没有 time.h 或任何其他库)

4

2 回答 2

1

如果你只需要你可以做的时间:

sec_of_day = epoch % (24 * 60 * 60);
hour       = sec_of_day / (60 * 60);
minute     = sec_of_day % (60 * 60) / 60;
second     = epoch % 60;

. 这当然不考虑您系统的时区。

如果需要日期,则需要考虑闰年。

编辑:警告:此代码不考虑闰秒。

于 2011-11-15T12:08:26.847 回答
1

在 SE16 中,您会在 se/datetime/DateTime.e 中找到用于日期/时间操作的整个类。此外,内置函数_time具有返回纪元时间的选项。您应该在那里找到足够的示例代码。

对于基本算法,我发现了另一个关于此问题的答案:包括 gmtime source 的链接。从那里你应该能够适应 SlickEdit 代码。

于 2011-11-15T13:34:58.967 回答