提问人:Garfield the Dummy 提问时间:11/6/2023 最后编辑:Garfield the Dummy 更新时间:11/6/2023 访问量:73
在 C# 中,System.DateTime.Now.Ticks 的返回值是否会受到夏令时和冬令时之间切换的影响?
In C#, would the return value of System.DateTime.Now.Ticks be affected by the switch between summer time and winter time?
问:
在 C# 中,如果我使用 System.DateTime.Now.Ticks 检查时间(例如在美国的设备上),并且我根本不更改本地时区,则返回值是否会受到我们当前是否使用夏令时的影响?
详: 例如,我在应用中定期调用 System.DateTime.Now.Ticks。当系统时间从夏令时变为非夏令时时,反之亦然,则 的返回值为 。蜱虫“跳跃”(比如 1 小时或 -1 小时的长度)?
答:
3赞
Joshua
11/6/2023
#1
确实如此。 返回适合 的值,并且不执行任何更正。.Ticks
DateTimeKind
请注意,由于回退时间重复,通话每年有两个小时无法正常工作;如果你想让你的代码工作,几乎总是调用 ;其他任何事情都是一种痛苦。.ToUniversalTime().Ticks
DateTime.UtcNow.Ticks
评论
0赞
Garfield the Dummy
11/6/2023
那么当设备从夏令时切换到非夏令时时,DateTime.UtcNow.Ticks 的返回值会跳转,反之亦然?
0赞
Martheen
11/6/2023
@GarfieldtheDummy 它不应该跳转,UTC 没有 DST
0赞
Garfield the Dummy
11/6/2023
@Martheen对不起,我应该要求 DateTime.Now.Ticks
0赞
Martheen
11/6/2023
@GarfieldtheDummy是的,假设时区有 DST,本地 DateTime 将跳转
评论
DateTime.UtcNow.Ticks