我目前在UTC -6中部时区.TimeZoneInfo.Local.BaseUtcOffset返回-6,但DateTimeOffset.Now.Offset返回-5.我不知道为什么这些会有所不同,我找不到可以解释这一点的文件.一个人是否尊重夏令时而另一个人不尊重?如果我执行someDateTimeOffset.UtcDateTime.ToLocalTme(),我的DateTime偏移量也会达到-6小时.
根据以下文档TimeZoneInfo.BaseUtcOffset:
一个对象,指示当前时区的标准时间与协调世界时(UTC)之间的时差.
和
由于BaseUtcOffset是TimeZoneInfo对象的属性而不是TimeZoneInfo.AdjustmentRule对象的属性,因此TimeZoneInfo类将UTC的单个偏移应用于所有时区的调整.
而DateTimeOffset.Now.Offset返回本地时区当前时间与UTC 之间的差异.不是当前时区的标准时间.中央时间正在观察此时的夏令时,因此存在差异.
如果您想在以下任何特定时间获得偏移量,该文档还为您提供了有关使用内容的指导TimeZoneInfo:
该
BaseUtcOffset属性返回UTC与时区标准时间之间的差异; 该GetUtcOffset方法返回UTC与特定时间点的时区之间的差异.如果我执行someDateTimeOffset.UtcDateTime.ToLocalTme(),我的DateTime偏移量也会达到-6小时.
那将取决于具体的价值someDateTimeOffset.例如,如果是在冬季,你肯定会看到6小时的偏移.
| 归档时间: |
|
| 查看次数: |
4946 次 |
| 最近记录: |