【发布时间】:2013-02-18 03:01:20
【问题描述】:
我有一个输入:
- 时间(上午 8:00)
- 奥尔森时区(美国/纽约)
我需要将时间转换为另一个奥尔森时区(美国/洛杉矶)
.net 或 nodatime 中进行该转换的最佳方式是什么。我基本上是在 C# 中寻找这种方法的等价物:
var timeInDestinationTimeZone = TimeZoneInfo.ConvertTimeBySystemTimeZoneId(CurrentSlot.Date, TimeZoneInfo.Local.Id,
room.Location.TimeZone.TimeZoneName);
但上面的这个 .Net 方法仅适用于 Windows 时区名称(我有 Olson 名称)
【问题讨论】:
-
这不是重复的。另一个问题是要求映射到 Windows 时区。我不想那样做。我只想转换时间并以 olson 格式保存所有时区信息
-
你不能通过 Windows 时区并在那里进行转换吗?
-
是的,但是考虑到映射之间的所有问题,这会导致额外的复杂性和保真度损失。这正是我问这个问题的原因,因为我不想转换为 Windows 时间
-
我在我的问题中列出了 nodatime。 .这是我的问题:)