看格式: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