C#Date Parse Exact Issue

时间:2009-11-16 09:15:08

标签: c# datetime

以下代码会产生错误,有什么想法吗?

string dateFormatString = "dd.MM.yyyy HH:mm:ss";
string properDate = DateTime.ParseExact(DateTime.Now.ToString() , dateFormatString , null ).ToString()

错误是:字符串未被识别为有效的日期和时间。

4 个答案:

答案 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");