使用datetime来控制timer的问题

最近碰到一个很有意思的bug,当时图方便,就使用了DateTime.now来判断是否timeout,是否要发event。

然后现在收到一个bug report,和daylight saving(夏令时)有关,再看一下这段代码,确实有问题。

如果夏令时往回拨一小时,在接下去的一个小时里,这个判断都是无效的,event就不会发出。

解决方法倒是不难,因为之前已有waitfor event with timeout,再用一个就可以了。

很多看上去没有问题的代码,实际使用中会有各种意外,特别是和时间,locale有关的,要特别小心了。

猜你喜欢

转载自www.cnblogs.com/mryux/p/12186123.html