leo*_*ora 3 c# datetime parsing
我有一个字符串:
var stringDate = "8/19/2016 5:00:00 PM"
Run Code Online (Sandbox Code Playgroud)
我尝试使用:
var dateTime = DateTime.ParseExact(stringDate,"M/d/yyyy h:mm:ss tt", null);
Run Code Online (Sandbox Code Playgroud)
要么
var dateTime = DateTime.ParseExact(stringDate, "M/d/yyyy h:mm:ss tt",
CultureInfo.Invariant);
Run Code Online (Sandbox Code Playgroud)
要么
var dateTime = DateTime.ParseExact(stringDate,"M/d/yyyy h:mm:ss tt",
CultureInfo.GetCultureInfo("en-us"));
Run Code Online (Sandbox Code Playgroud)
如果机器在美国,它可以正常工作,但对于所有3个选项,当我从伦敦的机器运行时,我会收到以下错误:
字符串未被识别为有效的DateTime
我在这里想念的是什么?
据我所知,您需要使用h说明符而不是说明hh符,因为您的小时部分没有单个数字值的前导零.
var stringDate = "8/19/2016 5:00:00 PM";
var dateTime = DateTime.ParseExact(stringDate, "M/d/yyyy h:mm:ss tt",
CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)
此外,我建议使用特定的文化设置,而不是null任何情况.在你的榜样,因为null手段CurrentCulture用于设置DateTime解析方法,你的CurrentCulture设置;
/用作DateSeparator或:用作TimeSeparator或GregorianCalendar用作Calendar财产或AM或PM作为PMDesignator或AMDesignator属性.对于那些,即使您的字符串和格式完全匹配,您的ParseExact方法也会抛出异常.
| 归档时间: |
|
| 查看次数: |
406 次 |
| 最近记录: |