![]() |
1
4
DateTimeOffset实际上应该称为ADateTimeWithAnOffset,因为它有两个属性——您提供的DateTime和Offset。这使得它对于转换非常有用,但它本身不转换任何内容。 From the docs …DateTimeOffset结构包括一个DateTime值,以及一个Offset属性,该属性定义当前DateTimeOffset实例的日期和时间与协调世界时(UTC)之间的差异。 您的时间很有趣,不是因为DateTimeOffset,而是因为您的初始字符串格式。一旦将偏移量添加到字符串的发送中,它在创建基础DateTime时也会考虑本地时间偏移量。在我的时区,即UCT-5,这就是发生的事情。。。
如果您检查基础DateTime上的Kind属性,当您从具有偏移量的字符串创建它时,就会看到它是Local。 |
![]() |
2
1
我想你错过的是UtcDateTime和LocalDateTime实际上是转换。因此,如果引用这两个属性,则需要转换值。因此,它们得到的值与语句“DateTime属性不受Offset属性值的影响”并不矛盾 UtcDateTime使用偏移量将DateTime属性的值转换为UTC(它将向DateTime部分添加23小时)。 LocalDateTime根据您的Windows时区设置(必须是UTC-1?)将DateTime属性的值转换为您的本地时间。 |