有问题的字符串:"2003:12:14 12:01:44"
(yyyy:MM:dd hh:mm:ss)
我怎样才能将它转换为C#中的有效日期时间?我试过Convert.ToDateTime(str)
,但无济于事。
答案 0 :(得分:3)
使用正确的DateTime
格式并提供该格式的DateTime.ParseExact
。请注意,由于您的time
没有显示AM或PM,因此假设它使用24-Hr格式(使用大写HH
)而不是12-Hr AM PM(不是{ {1}})格式。以下代码应该有效:
hh
详细了解可用的string format = "yyyy:MM:dd HH:mm:ss"; //note: use HH not hh
var result = DateTime.ParseExact("2003:12:14 12:01:44", format, CultureInfo.InvariantCulture);
格式here(标准)和here(自定义)。
答案 1 :(得分:1)
Convert.ToDateTime
尝试将您的字符串解析为CurrentCulture
设置的标准日期和时间格式。看起来这个字符串不是标准格式。
您可以使用DateTime.ParseExact
指定自定义格式。
var dt = DateTime.ParseExact("2003:12:14 12:01:44",
"yyyy:MM:dd hh:mm:ss",
CultureInfo.InvariantCulture);