以下代码会产生错误,有什么想法吗?
string dateFormatString = "dd.MM.yyyy HH:mm:ss";
string properDate = DateTime.ParseExact(DateTime.Now.ToString() , dateFormatString , null ).ToString()
错误是:字符串未被识别为有效的日期和时间。
答案 0 :(得分:3)
DateTime.Now.ToString()
使用当前文化格式化日期。您需要指定相同的格式:ParseExact函数所期望的DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss")
。
答案 1 :(得分:1)
答案 2 :(得分:0)
你可以这样做:
string dateFormatString = "dd/MM/yyyy HH:mm:ss";
string properDate = DateTime.Now.ToString(dateFormatString);
编辑:根据您的意见,您正试图将格式与捷克共和国的格式相匹配。您应该使用CultureInfo
来执行此操作:
string properDate = DateTime.Now.ToString(new CultureInfo("cs-CZ"));
答案 3 :(得分:0)
您当地的文化是否将日期写为“dd.MM.yyyy HH:mm:ss”?简单地说:如果日期的ToString()
没有产生这种布局,那么它就不会干净地解析 - 而且ParseExact
不非常原谅。
我想知道你是否真的想打电话:
string s = DateTime.Now.ToString("dd.MM.yyyy HH:mm:ss");