【问题标题】:How to Ignore Daylight Savings如何忽略夏令时
【发布时间】:2014-04-30 20:53:32
【问题描述】:

我正在从 Web 服务接收一些数据,其中一个字段是 Data 对象。

例如,2014-06-30T07:45:00+02:00 是 DateTime 值。

当我尝试解析这个并通过

var time = DateTime.Parse("2014-06-30T07:45:00+02:00").TimeOfDay;

我得到8:45:00 而不是7:45:00

是否可以忽略夏令时?因为网络服务仍然返回正确的日期?

【问题讨论】:

  • 明确你想要什么,使用允许你传递 DateTimeStyles.AdjustToUniversal 的 Parse() 重载,这样你就可以返回 UTC。
  • @HansPassant 当我使用 AdjustToUniversal 时,我得到了 5:45:00。

标签: c# datetime dst


【解决方案1】:

这应该可行:

var time = DateTimeOffset.Parse("2014-06-30T07:45:00+02:00").DateTime.TimeOfDay;

【讨论】:

  • var关键字和你说的完全相反。
  • 呃,实际上你会使用 var 如果返回类型很明显你会觉得复制它很傻,你唯一使用 var 是文档目的。
  • 对不起,我不同意。虽然var 可以在您感到懒惰/愚蠢时使用,但我认为它会降低您的代码的可读性。还有@DmitryDovgopoly,我看不出它与我所说的相反。如果你知道你会得到什么回报,那么我认为你应该指定它。否则你别无选择,只能使用 var 例如使用匿名类型。
  • 它仍然返回 8:45:00
  • 查看我的更新。我删除了关于 var 关键字的评论,因为我认为这主要是个人选择的问题。
猜你喜欢
  • 1970-01-01
  • 2014-09-21
  • 1970-01-01
  • 2011-10-31
  • 2018-08-22
  • 2018-12-14
  • 1970-01-01
  • 2013-09-03
  • 2010-10-22
相关资源
最近更新 更多