4

我有一个服务器设置为 EST,我想知道我需要做些什么来创建一个设置为当天午夜但在不同时区的 DateTimeOffset?例如太平洋标准时间?

4

1 回答 1

6
  • 获取相关的TimeZoneInfo.
  • 构造一个DateTime包含本地时间(即午夜)的
  • 调用TimeZoneInfo.GetUtcOffset以查找与 UTC 的偏移量
  • DateTimeOffset用本地时间和偏移量构造一个

(如果Noda Time已经准备好生产,我建议ZonedDateTime使用它创建一个,但不幸的是,我们甚至还没有接近为 v1 做好准备......虽然实际上你需要的位可能已经足够稳定了 :)

值得注意的是,“当天的午夜”并不总是存在于所有时区。如果您可能需要处理在午夜有 DST 转换的时区,您可能需要查看TimeZoneInfo.IsAmbiguousTimeand TimeZoneInfo.IsInvalidTime

于 2011-01-12T11:54:56.977 回答