我试图将一些DateTime格式化为此W3C DateTime format: -
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
有人可以帮忙吗?
答案 0 :(得分:5)
您想要"o"
:
var myDateTime = someDateTime.ToString("o",
System.Globalization.CultureInfo.InvariantCulture);
答案 1 :(得分:4)
使用以下内容:
yourDateTime.ToString( "yyyy-MM-ddTHH:mmK", CultureInfo.InvariantCulture );
以下是关于DateTime格式的更多信息:
答案 2 :(得分:2)
我相信你想要
"yyyy-MM-ddTHH:mmK"
注意:
DateTime.Kind
是UTC还是本地;未指定将以空字符串结束您应 使用CultureInfo.InvariantCulture
以确保不使用任何时髦的文化信息。 (您可以引用-
和:
作为替代,但我会使用不变文化来确定。)
答案 3 :(得分:1)
你可以这样格式化:
someDateTime.ToString("yyyy-MM-dd");
以下是“标准”支持的日期时间格式字符串的文档: http://msdn.microsoft.com/en-us/library/az4se3k1(v=VS.100).aspx
答案 4 :(得分:0)
someDateTime.ToUniversalTime().ToString("u");
会让你非常接近=> '2011-09-02 10:22:48Z'。如果这还不够好,那么您可以创建一个包含“T”的自定义格式字符串(请参阅'Custom Date and Time Format Strings')。