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

前端之家收集整理的这篇文章主要介绍了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触发.

猜你在找的C&C++相关文章