将DateTime输出为具有预定义时区偏移的字符串

时间:2016-09-08 07:07:14

标签: asp.net .net datetime datetime-format formatdatetime

我的.NET程序中有一个DateTime,我需要使用特定的时区偏移值打印(例如,总是+01:00)。输出应包含带时区的完整日期时间。它必须与系统时区设置无关。我怎么能做到这一点?

示例:我有一个时间戳,如12-03-2016T12:30:34 + 03:00,我需要输出它计算的预定义TZ +1:12-03-2016T10:30:34 + 01:00

1 个答案:

答案 0 :(得分:0)

找到了一些方法。

首先,DateTime没有存储时区。相反,它标志着它是UTC还是本地(不知道本地TZ转换是什么)。所以:首先要从UTC中的任何字符串时间戳开始初始解析时间。

一旦它存储在DateTime对象中(使用Kind = UTC),您必须将其转换为您希望输出的时区。我觉得这里的例子很有用:datetime to string with time zone

注意:如果您需要转换伦敦夏令时,您必须知道NET中时区的正确名称,以便您做对。见Difference between UTC and GMT Standard Time in .NET