【发布时间】:2016-07-02 02:26:09
【问题描述】:
时间结构 (struct tm) 包含分解成其组件的日历日期和时间。该结构包含九个 int 类型的成员(按任意顺序),它们是:
Member Type Meaning Range
tm_sec int seconds after the minute 0-61*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
如果夏令时有效,夏令时标志 (tm_isdst) 大于零,如果夏令时无效,则为零,如果信息不可用,则小于零。
我与 tm_isdst 相关的具体问题如下:
-
对于日期(YYYY-MM-DD)2016-03-16(当 DST 生效时),应该 tm_isdst 为 1?还是 0?
-
对于日期(YYYY-MM-DD)2016-01-16(DST 无效时), tm_isdst 应该为 1 吗?还是 0?
-
2016 年夏令时(美国)从 2:00 AM 开始 3 月 13 日,星期日。所以在 3 月 13 日凌晨 1 点 45 分,什么是价值 tm_isdst?谁设置了这个 flag 的值以及如何设置?
-
有什么方法可以检查 DST 何时生效 系统调用?
【问题讨论】: