c00*_*0fd 6 c++ winapi timer dst
2013年的夏令时(美国)于3月10日星期日凌晨2:00开始.因此,现在是2013年3月9日,我在已创建的等待计时器句柄上调用以下API:
FILETIME ftWhen = //Points as absolute time to March 10th, 2013, at 2:10 AM
SetWaitableTimer(hTimer, ftWhen, 0, NULL, NULL, TRUE);
Run Code Online (Sandbox Code Playgroud)
March 10th, 2013, 2:10 AM 是一个不存在的时间,因为时间将提前一小时调整,而不是凌晨2点,它将是凌晨3点.
所以我的问题是,我的计时器会发生什么?(我似乎无法找到此案例的文档.)
我怀疑你已经知道你的问题的答案,因为你的评论明确指出:
// Points _as absolute time_ to March 10th, 2013, at 2:10 AM
Run Code Online (Sandbox Code Playgroud)
所以你知道SetWaitableTimer()的文档说:
请务必使用基于UTC的绝对时间,因为系统在内部使用基于UTC的时间.
由于UTC不关心任何DST,你的定时器将被触发March 10th, 2013, 3:10 AM,您的本地时间.
| 归档时间: |
|
| 查看次数: |
600 次 |
| 最近记录: |