gmtime算法的最小实现?

时间:2012-03-16 22:23:24

标签: c++ c unix-timestamp

有没有人知道一个简单的gmtimectime实现而不考虑时区,没有外部依赖关系,以及非copyleft许可证(BSD / MIT /任何专有安全)?最好是在C中,但基本上任何以最小形式给出算法的东西都可以工作。

我需要秒,因为“1970年1月1日00:00:00”分解为年,日,月,小时,分钟,秒。现在几乎是星期五回家的时间,所以我感觉有点懒。

2 个答案:

答案 0 :(得分:5)

逆转算法定义" Seconds自Epoch"来自POSIX:

http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap04.html#tag_04_15

tm_sec + tm_min*60 + tm_hour*3600 + tm_yday*86400 +
    (tm_year-70)*31536000 + ((tm_year-69)/4)*86400 -
    ((tm_year-1)/100)*86400 + ((tm_year+299)/400)*86400

答案 1 :(得分:2)

尝试使用newlib http://sourceware.org/newlib/ 它是BSD许可证。

它专为嵌入式系统而设计,因此往往非常小而且简单。

查看文档 - >定时查看ctime或gmtime是否满足您的需求。