微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c – 当CreateWaitableTimer设置为不存在的日期/时间时会发生什么?

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 举报,一经查实,本站将立刻删除。

相关推荐