[英]How can I get this DateTime format in .NET
我正在嘗試將某些DateTime格式化為W3C DateTime格式 :-
Complete date plus hours and minutes:
eg. YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
where:
YYYY = four-digit year
MM = two-digit month (01=January, etc.)
DD = two-digit day of month (01 through 31)
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
s = one or more digits representing a decimal fraction of a second
TZD = time zone designator (Z or +hh:mm or -hh:mm)
我原來有這個...
var myDateTime = someDateTime.ToString("s",
System.Globalization.CultureInfo.InvariantCulture);
但這導致字符串:
2011-08-31T08:46:00
有人可以幫忙嗎?
您想要"o"
:
var myDateTime = someDateTime.ToString("o",
System.Globalization.CultureInfo.InvariantCulture);
使用以下內容:
yourDateTime.ToString( "yyyy-MM-ddTHH:mmK", CultureInfo.InvariantCulture );
這是有關DateTime格式的更多信息:
我相信你想要
"yyyy-MM-ddTHH:mmK"
注意:
DateTime.Kind
是UTC還是本地; 未指定將以空字符串結尾 您還應該使用CultureInfo.InvariantCulture
來確保不使用任何時髦的文化信息。 (您可以引用-
和:
作為替代,但我會使用不變的文化來確保。)
您可以像這樣格式化它:
someDateTime.ToString("yyyy-MM-dd");
這是'標准'支持的日期時間格式字符串的文檔: http : //msdn.microsoft.com/zh-cn/library/az4se3k1( v=VS.100) .aspx
someDateTime.ToUniversalTime().ToString("u");
會讓您非常接近=>'2011-09-02 10:22:48Z'。 如果這還不夠好,那么您可以創建一個包含“ T”的自定義格式字符串(請參閱“自定義日期和時間格式字符串” )。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.