解析听起来有效的DateTime时出错

Boh*_*ohn -1 c# vb.net

我写了这个:

Dim dtttm As DateTime = DateTime.Parse(value, 
    System.Globalization.CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

并且传入的值是

17/07/30 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

但我得到错误:

System.FormatException:'字符串未被识别为有效的DateTime.'

Mat*_*int 6

InvariantCulture用途MM/dd/yy的日期格式.您的输入显示dd/MM/yy格式(1930年7月17日),或者yy/MM/dd格式(2017年7月30日).我说不出来.

您应该使用ParseExact与您的输入匹配的格式:

Dim dtttm As DateTime = DateTime.ParseExact(value, "dd/MM/yy h:mm:ss tt" 
    System.Globalization.CultureInfo.InvariantCulture)
Run Code Online (Sandbox Code Playgroud)

理想情况下,避免模糊数据.yyyy-MM-dd尽可能使用格式.
https://xkcd.com/1179/