DateTime.Parse失败
15/08/2000 16:58
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?
我需要解析日期并获得一些国际性的.
DD/MM/YYYY不会翻到24小时制
MM/DD/YYYY将接受24小时制
2000年8月15日下午4:58将解析
从Kibbee的回答中我看到了使用其他文化.我使用正则表达式来确定它是否是dd/MM,如果是,请使用culture fr-FR.
Jus*_*ner 31
var result = DateTime.ParseExact(dateString,
"dd/MM/yyyy HH:mm",
new CultureInfo("en-US"));
Run Code Online (Sandbox Code Playgroud)
Kib*_*bee 13
如果您知道预期日期所在的确切格式,则应该使用DateTime.ParseExact来解析日期.出于您的目的,以下内容可能会起作用.
string dateString, format;
DateTime result;
CultureInfo provider = CultureInfo.InvariantCulture;
dateString = "15/08/2000 16:58"
format = "dd/MM/yyyy HH:mm"
result = DateTime.ParseExact(dateString, format, provider);
Run Code Online (Sandbox Code Playgroud)
改为上面.将hh更改为HH,因为HH表示24小时时间.如果不使用前导零,则只需使用H.有关创建格式字符串的更多信息,请参阅本文.
同样来自链接的MSDN文章,似乎格式"g"应该起作用.
dateString = "15/06/2008 08:30";
format = "g";
CultureInfo provider = new CultureInfo("fr-FR");
DateTime result = DateTime.ParseExact(dateString, format, provider);
Run Code Online (Sandbox Code Playgroud)