在服务器的其他TimeZone中创建一个DateTimeOffset设置为Midnight

时间:2011-01-12 11:46:46

标签: .net datetimeoffset

我有一台服务器设置为EST,我想知道我需要做什么来创建一个DateTimeOffset设置为当天的午夜但是在不同的时区?例如PST?

1 个答案:

答案 0 :(得分:6)

  • 获取相关的TimeZoneInfo
  • 构建包含本地时间(即午夜)的DateTime
  • 调用TimeZoneInfo.GetUtcOffset查找UTC的偏移量
  • 使用当地时间和偏移
  • 构建DateTimeOffset

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

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