國際字符串表示格式爲(YYYY-MM-DD HH:MM:SS±HHMM)。你將如何格式化國際格式的日期時間?
例如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);
國際字符串表示格式爲(YYYY-MM-DD HH:MM:SS±HHMM)。你將如何格式化國際格式的日期時間?
例如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);
DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss zzz");
將輸出:
2010-06-29 08:25:16 -07:00
我認爲這是在幾小時內顯示。這-4是與GMT的區別。
哦,我明白了,對不起,誤會了這個問題。
你想用DateTimeOffset。
這可能會更好,但我試圖從objective-c來回傳遞日期。 – Aaron 2010-06-29 15:31:47
你會如何格式化國際格式的日期時間?
您可以使用custom format specifier(ISO標準日期/時間格式沒有標準格式)。
我遇到的問題是搞清楚如何從GMT獲得差異。使用
DateTimeOffset
的靜態方法之一,然後
解析檢查Offset
屬性。
或者如果您的意思是,如何在字符串中包含偏移量:使用DateTimeOffset
以及正確的時區和自定義格式說明符。
string isoFormat = inputDateTime.Format(「s」);
完美。謝謝。我可以刪除:非常容易。 – Aaron 2010-06-29 15:30:33
@Aaron:'±HH:mm'格式,包括':',在ISO8601中是合法的。 – LukeH 2010-06-29 15:37:18
它是合法的,但它不是Objective-C使用的格式。 – Aaron 2010-06-29 15:42:56