DateTime.Parse失败
15/08/2000 16:58
有什么想法?
我需要解析日期并获得一些国际化。
DD / MM / YYYY不会翻到24小时
MM / DD / YYYY将接受24小时制
15/08/2000 4:58 PM将解析
从Kibbee的回答中我看到了使用其他文化。 我使用正则表达式来确定它是否是dd / MM,如果是,请使用culture fr-FR。
答案 0 :(得分:30)
var result = DateTime.ParseExact(dateString,
"dd/MM/yyyy HH:mm",
new CultureInfo("en-US"));
答案 1 :(得分: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);
更改为上述内容。将hh更改为HH,因为HH表示24小时时间。如果您不使用前导零,则只需使用H.有关创建格式字符串see this article的更多信息。
同样来自链接的MSDN文章,似乎格式“g”应该有效。
dateString = "15/06/2008 08:30";
format = "g";
CultureInfo provider = new CultureInfo("fr-FR");
DateTime result = DateTime.ParseExact(dateString, format, provider);