【问题标题】:What does DateTimeOffset.Now.Offset.ToString() return when in daylight savigs time in the UK在英国夏令时时 DateTimeOffset.Now.Offset.ToString() 返回什么
【发布时间】:2015-04-14 06:16:27
【问题描述】:

所以我知道函数 DateTimeOffset.Now.Offset 返回来自 UTC 的偏移量,并且来自维基百科它指出 GMT 和 UTC 是相同的。因此,我猜如果您的时区是(UTC)伦敦,DateTimeOffset.Now.Offset.ToString() 将始终返回00:00:00。我的想法是正确的,还是在夏令时返回01:00:00

【问题讨论】:

  • 你没有编译器吗?你为什么不试试看?
  • 我不确定如何测试它?我将日期更改为 4 月中旬(夏令时),但时间显然保持不变。我猜如果 UTC = GMT 那么它应该返回 00:00:00

标签: c# utc gmt datetimeoffset


【解决方案1】:

DateTimeOffset.Now.Offset.ToString() 将始终返回 00:00:00 如果 您的时区是 UTC。

没错。来自DateTimeOffset.Offset property的文档;

当前 DateTimeOffset 对象的时间值之间的差异 和协调世界时 (UTC)。

如您所见,得到00:00:00 是正常的,因为伦敦是UTC±00:00,这是我们所期望的。

我的想法是正确的,还是会返回01:00:00 夏令时?

没错。来自Daylight saving time的维基百科页面;

通常,DST 的用户在临近开始时将时钟向前 一小时 春天并在秋天将它们向后调整为“正常”或 固定时间。

顺便说一句,您不能通过创建Datetime 来更改您的偏移值,它在您的夏令时。 OffSet 值只能通过手动更改时区或夏令时来更改。您的DateTimeOffset 仍然具有相同的偏移值即使如果您在夏令时时创建它。

是的,UTC 和 GMT 是相同的。只是“GMT”一词并没有在大多数计算机科学界使用。

【讨论】:

  • 感谢您的帮助。对于其他想知道link 的人提供了简洁的信息
猜你喜欢
  • 2019-09-29
  • 2018-07-06
  • 2012-04-24
  • 2014-05-12
  • 1970-01-01
  • 2020-09-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多