以下代码引发错误“字符串未被识别为有效日期时间”。
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "dd-MM-yyyy HH:mm:ss";
DateTime.ParseExact(text, timeFormat, null);
如何将该文本字段转换为日期时间?
我将日期时间字符串分配给一个变量只是为了澄清。在我的场景中,日期字符串来自 datetimepicker 控件。
以下代码引发错误“字符串未被识别为有效日期时间”。
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "dd-MM-yyyy HH:mm:ss";
DateTime.ParseExact(text, timeFormat, null);
如何将该文本字段转换为日期时间?
我将日期时间字符串分配给一个变量只是为了澄清。在我的场景中,日期字符串来自 datetimepicker 控件。
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/d/yyyy h:mm:ss tt";
DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
注意:传递null
toParseExact
将使解析器采用当前的文化,这在不同的环境中可能会有所不同。如果您有严格的格式,请通过,CultureInfo.InvariantCulture
从而使解析器在所有环境中表现相同
singled
将适用于日期中的零填充天数,M
以及h
我认为您需要以下格式字符串:"M/dd/yyyy h:mm:ss tt"
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/dd/yyyy h:mm:ss tt";
DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
为我跑。请注意,这dd
可能d
取决于您的日子是否为零填充。
试试这个:
string timeFormat = "M/d/yyyy h:mm:ss tt";
DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/dd/yyyy h:mm:ss tt";
DateTime date = DateTime.ParseExact(text, timeFormat, CultureInfo.InvariantCulture);
为什么要这么难?
string text = "5/17/2013 8:08:48 PM";
DateTime dt = DateTime.Parse(text);
//dt = {2013-05-17 20:08:48}
问题是您缺少“PM”(tt)的格式;它应该是:
try{
string text = "5/17/2013 8:08:48 PM";
string timeFormat = "M/dd/yyyy HH:mm:ss tt";
DateTime.ParseExact(text,timeFormat,null);
} catch (FormatException) { ... }
请注意,使用此方法时应始终处理此异常。