簡體   English   中英

如何在.NET中獲取此DateTime格式

[英]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格式的更多信息:

http://msdn.microsoft.com/zh-CN/library/8kb3ddd4.aspx

我相信你想要

"yyyy-MM-ddTHH:mmK"

注意:

  • HH而不是24小時
  • K指定時區; 這取決於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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM