Tag: unix timestamp

你知道一个用于计算Unix时间和日期的C宏吗?

我想知道是否有人知道/有一个C宏来计算硬编码日期和时间的静态Unix时间,如: time_t t = UNIX_TIMESTAMP(2012, 5, 10, 9, 26, 13); 我正在调查,因为我想要一个数字静态时间戳。 这将在整个软件中完成数百次,每次都有不同的日期,我想确保它很快,因为它每秒运行数百次。 转换多次会明确减慢速度的日期(即调用mktime()比编译静态数字要慢,对吧?) [更新以试图使这一段更清晰,2012年11月23日] 更新 我想澄清有关正在使用的过程的更多信息的问题。 当我的服务器收到请求时,对于每个请求,它都会启动一个新进程。 使用新插件不断更新该过程,并且此类更新通常需要数据库更新。 那些必须只运行一次。 要知道是否需要更新,我想使用Unix日期(这比使用计数器更好,因为计数器更有可能偶尔会破坏一次。) 因此,插件将接收更新信号并调用其on_update()函数。 在那里我想做这样的事情: void some_plugin::on_update(time_t last_update) { if(last_update < UNIX_TIMESTAMP(2010, 3, 22, 20, 9, 26)) { …run update… } if(last_update < UNIX_TIMESTAMP(2012, 5, 10, 9, 26, 13)) { …run update… } // as many test as […]

gmtime算法的最小实现?

有没有人知道一个简单的gmtime或ctime实现而不考虑时区,没有外部依赖关系,以及非copyleft许可证(BSD / MIT /任何专有安全)? 最好是在C中,但基本上任何以最小forms给出算法的东西都可以工作。 我只需要秒,因为“1970年1月1日00:00:00”分为年,日,月,小时,分钟,秒。 现在几乎是星期五回家的时间,所以我感觉有点懒。