Nig*_*iri 10 .net c# string datetime datetime-parsing
TryParseExact下面的代码块中的方法 返回true.
我想知道为什么.
我认为这个日期"2013.03.12"是无效的,因为它没有用斜线分隔,而是用点分隔.
在我更改了CultureInfo "de-De"to之后"en-US",该方法返回false.这可能是一个提示,但我仍然不知道为什么会发生这种情况.
var format = new string[] { "yyyy/MM/dd" };
var parsed = new DateTime();
var result = DateTime.TryParseExact("2013.03.12", format,
new CultureInfo("de-DE"), DateTimeStyles.None, out parsed);
Run Code Online (Sandbox Code Playgroud)
Son*_*nül 17
我认为你的当前DateSeparator 是.(点)并/自动替换它.
/分隔符具有"特殊意义与当前区域性的日期分隔符代替我 "
CultureInfo c = new CultureInfo("de-DE");
Console.WriteLine(c.DateTimeFormat.DateSeparator); //Prints . (dot)
Run Code Online (Sandbox Code Playgroud)
正如@SonerGönül 指出的那样,它/被视为自定义格式字符串中的 "日期分隔符" .如果您只想接受/字符,则需要转义它们:
var format = new string[] { @"yyyy\/MM\/dd" };
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
662 次 |
| 最近记录: |