Questions tagged «time»

测量执行操作所需的时间。此外,还有与获取当前时间,按时间计算,格式化和解析时间等有关的问题。

6
将时间存储在UTC中总是一个好主意吗?还是以本地时间存储更好的情况?
通常,最佳做法是将时间存储在UTC中,如此处和此处所述。 假设有一个重复发生的事件,例如结束时间总是与当地时间相同,例如17:00,无论该时区是否启用了夏令时。并且还要求在特定时区打开或关闭DST时不要手动更改时间。还要求任何其他系统通过API(例如GetEndTimeByEvent)要求结束时间时,都必须以UTC格式发送结束时间。 方法1: 如果决定以UTC存储,则可以将其存储在数据库表中,如下所示。 Event UTCEndTime ===================== ABC 07:00:00 MNO 06:00:00 PQR 04:00:00 对于第一个事件ABC,UTC的结束时间是上午07:00,如果将其转换为从UTC到2012年7月1日的本地时间,则将转换为17:00的本地时间,如果转换为2012年10月10日(日期(DST在该时区为ON的日期),则将导致下午6点,这不是正确的结束时间。 我想的一种可能方法是将DST时间存储在附加列中,并在时区DST ON时使用该时间。 方法2: 但是,如果将其存储为本地时间,例如事件ABC,则它将在任何日期始终为17:00,因为没有从UTC到本地时间的转换。 Event LocalEndTime ======================= ABC 17:00:00 MNO 16:00:00 PQR 14:00:00 应用程序层将本地时间转换为UTC时间,以通过(API GetEndTimeByEvent)发送给其他系统。 在这种情况下,将时间存储在UTC还是一个好主意吗?如果是,那么如何获取恒定的本地时间? 相关问题:是否有充分的理由不使用UTC来存储时间?
67 date  time  timezone  utc  dst 

1
为什么用time()报告的时间有时比C代码中的timespec_get()的秒部分晚1秒?
以下代码段: struct timespec ts; for (int x = 0; x < 100000000; x++) { timespec_get(&ts, TIME_UTC); long cTime = (long) time(NULL); if (cTime != ts.tv_sec && ts.tv_nsec < 3000000) { printf("cTime: %ld\n", cTime); printf("ts.tv_sec: %ld\n", ts.tv_sec); printf("ts.tv_nsec: %ld\n", ts.tv_nsec); } } 产生以下输出: ... cTime: 1579268059 ts.tv_sec: 1579268060 ts.tv_nsec: 2527419 cTime: …
12 c  time  posix  timespec 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.