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,NULL,TRUE);
2013年3月10日,凌晨2:10是一个不存在的时间,因为时间将提前一小时调整,而不是凌晨2点,它将是凌晨3点.
所以我的问题是,我的计时器会发生什么? (我似乎无法找到此案例的文档.)
解决方法
我怀疑你已经知道你的问题的答案,因为你的评论明确指出:
// Points _as absolute time_ to march 10th,at 2:10 AM
所以你知道SetWaitableTimer()的文档说:
Be sure to use a UTC-based absolute time,as the system uses UTC-based
time internally.
由于UTC不关心DST,您的计时器将于2013年3月10日当地时间凌晨3:10触发.
原文地址:https://www.jb51.cc/c/111813.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。