看格式:3210Datetime.Parse()可交換格式?
這是工作
var t="Mar 2013 7";
DateTime dt=DateTime.Parse(t);
但
also this :"Mar 7 2013"
and this :"7 Mar 2013"
工作
看:
new DateTimeFormatInfo()
.GetAllDateTimePatterns()
.Select((i,n)=>n+" "+i)
.ToList()
.ForEach(f=>Console.WriteLine(f));
這是格式化日期和時間值可以是 的所有標準模式。
結果是:
0 MM/dd/yyyy
1 yyyy-MM-dd
2 dddd, dd MMMM yyyy
3 dddd, dd MMMM yyyy HH:mm
4 dddd, dd MMMM yyyy hh:mm tt
5 dddd, dd MMMM yyyy H:mm
6 dddd, dd MMMM yyyy h:mm tt
7 dddd, dd MMMM yyyy HH:mm:ss
8 MM/dd/yyyy HH:mm
9 MM/dd/yyyy hh:mm tt
10 MM/dd/yyyy H:mm
11 MM/dd/yyyy h:mm tt
12 yyyy-MM-dd HH:mm
13 yyyy-MM-dd hh:mm tt
14 yyyy-MM-dd H:mm
15 yyyy-MM-dd h:mm tt
16 MM/dd/yyyy HH:mm:ss
17 yyyy-MM-dd HH:mm:ss
18 MMMM dd
19 MMMM dd
20 yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
21 yyyy'-'MM'-'dd'T'HH':'mm':'ss.fffffffK
22 ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
23 ddd, dd MMM yyyy HH':'mm':'ss 'GMT'
24 yyyy'-'MM'-'dd'T'HH':'mm':'ss
25 HH:mm
26 hh:mm tt
27 H:mm
28 h:mm tt
29 HH:mm:ss
30 yyyy'-'MM'-'dd HH':'mm':'ss'Z'
31 dddd, dd MMMM yyyy HH:mm:ss
32 yyyy MMMM
33 yyyy MMMM
問:
我沒有看到在列表中
MMM d yyyy
格式。那它是如何做到的?它嘗試所有組合?如何添加時間格式
MMM d yyyy
?[Mar 3 2007 13:13:13]
它也可以工作,但沒有特定的格式。那它怎麼做呢?
您認爲DateTime.Parse()使用由GetAllDateTimePatterns()返回的模式是不正確的。我已經將你鏈接到參考源,看看System.DateTimeParse.Lex() – 2013-03-07 12:53:26
@HansPassant你是對的。它似乎是所有與標準格式字符串對應的自定義格式字符串。和**不是**,因爲我假設解析)。謝謝:-) – 2013-03-07 13:06:46