var str = "00:00:00 02/01/1990";
var dt = DateTime.ParseExact(str, "hh:mm:ss dd/MM/yyyy", null);
上面的代码抛出异常“字符串未被识别为有效的DateTime。”
我认为使用ParseExact并指定确切的格式这没关系。上面有什么问题?
编辑:
使用不变文化解决。感谢您的评论。
var dt = DateTime.ParseExact(str, "HH:mm:ss dd/MM/yyyy", CultureInfo.InvariantCulture);
答案 0 :(得分:1)
通常以DateTime
格式提供Date
,Time
之前是var str = "02/01/1990 00:00:00";
var dt = DateTime.ParseExact(str, "hh:mm:ss dd/MM/yyyy", null);
。试试这个:
var str = "00:00:00 02/01/1990";
var split = str.Split(new char[] { ' ' });
if (split.Length == 2)
str = String.Format("{0} {1}", split[1], split[0]);
var dt = DateTime.ParseExact(str, "hh:mm:ss dd/MM/yyyy", null);
编辑:好的,所以你要做一个技巧来完成它:
{{1}}
答案 1 :(得分:1)
“hh”格式说明符用于12小时AM / PM时间,不支持“00”。尝试在24小时内定义它:HH:mm:ss dd/MM/yyyy