加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 03:20:28 所属栏目:百科 来源:网络整理
导读:2013年的夏令时(美国)于3月10日星期日凌晨2:00开始.因此,现在是2013年3月9日,我在已创建的等待计时器句柄上调用以下API: FILETIME ftWhen = //Points as absolute time to March 10th,2013,at 2:10 AMSetWaitableTimer(hTimer,ftWhen,NULL,TRUE); 2013年3月
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触发.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读