你会如何格式化国际格式的DateTime?

时间:2010-06-29 15:21:06

标签: c# datetime

国际字符串表示格式为(YYYY-MM-DD HH:MM:SS±HHMM)。

e.g。 2010-06-10 21:21:10 -0400

基本上我遇到的问题是弄清楚如何从GMT中获得差异。

DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:yyyy-MM-dd HH:mm:ss ????}", dt);

6 个答案:

答案 0 :(得分:14)

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss zzz");

将输出:

2010-06-29 08:25:16 -07:00

答案 1 :(得分:1)

我会选择ISO format

W3C还有一个关于这个主题的说明:Date and Time Formats

这些是国际标准。

答案 2 :(得分:1)

string isoFormat = inputDateTime.Format(“s”);

答案 3 :(得分:0)

我认为这会在几小时内显示出来。这是-4与GMT的区别。

哦,我明白了,抱歉误解了这个问题。

答案 4 :(得分:0)

您想使用DateTimeOffset

答案 5 :(得分:0)

  

您如何以国际格式格式化DateTime?

您可以使用custom format specifier(ISO标准日期/时间格式没有标准格式)。

  

我遇到的问题是弄清楚如何与GMT区别开来。

使用DateTimeOffset的静态方法之一解析,然后检查Offset属性。

或者,如果您的意思是,如何在字符串中包含偏移:使用DateTimeOffset和正确的时区以及自定义格式说明符。