我有一个ASP.NET网络应用程序,我正在使用。
显示事件DateTimeOffsets我有一个数据库的DateTimeOffset,我可以显示它,但我想显示时区。
DateTime eventOccurance = getDateTimeFromDB();
Console.out.WriteLine(eventOccurance.ToString());
输出为
6/11/2015 1:02:03 AM -07:00
我想要的是还要添加基于偏移的时区。因此,对于此示例,-7小时的偏移表示它是Mountain Standard Time。
6/11/2015 1:02:03 AM -07:00 (MST)
我找不到任何办法。该服务仅支持美国(与紧急服务相关),因此我可以编写一个函数来计算您自己的时区,但我正在寻找一种更好的标准方法来实现它。
我希望TimeZone
或TimeZoneInfo
中有一个函数可以作为参数作为偏移量,并返回一个合适的TimeZone,但从我所知道的,它不存在。< / p>
修改
评论者表达了与How to display DateTime with an abbreviated Time Zone?
的潜在相似性它类似于那个帖子,但不完全相同,因为他正在使用当前时区,并尝试缩写它。我不太关心缩写,更多的是关于弄清楚DateTimeOffset实际上是什么时区。
编辑2
谢谢马克。对不起,我自己找不到。我向你保证,我看了。
(...)timezoneoffset of UTC and calculate timezone in C#?
这里的问题是,TimeZone关系的偏移是一对多的关系,因此除了自己编写之外,我没有尝试完成任何功能。