我以字符串格式获得了DateTime:
"05/30/2014 12:00:00"
我想通过这样做从这个字符串创建一个DateTime对象:
DateTime startDate = DateTime.Parse(startDate);
但是,我有一个错误,说这个方法有一些无效的参数:
Error 1 - The best overloaded method match for 'System.DateTime.Parse(string)' has some invalid arguments
当我阅读文档时,字符串参数绝对是一个很好的论据。我正在做什么出了什么问题?
答案 0 :(得分:5)
使用DateTime.ParseExact并传递日期字符串中的格式。当前的文化可能有日期形式,其中的日期在月之前,如dd / mm / yy。
您正在将相同的变量传递给您为DateTime声明的ParseExact方法。更改DateTime对象的名称。
DateTime dtStartDate = DateTime.ParseExact(startDate, "MM/dd/yyyy HH:mm:ss", CultureInfo.InvariantCulture);
您可以阅读Custom Date and Time Format Strings中的文章,以便更好地理解解析日期字符串的格式。
答案 1 :(得分:1)
DateTime startDate = DateTime.ParseExact(strDate, "G", CultureInfo.InvariantCulture);
您可以在此here找到更多信息。
答案 2 :(得分:0)
在初始化之前,您似乎正在传递变量进行解析。
所以你可以:
DateTime startDate = DateTime.Parse("05/30/2014 12:00:00");
Console.WriteLine(startDate);
或者,你可以:
String dateToParse = "05/30/2014 12:00:00";
DateTime startDate = DateTime.Parse(dateToParse);
Console.WriteLine(startDate);
答案 3 :(得分:0)
将日期存储在字符串变量中,然后使用以下命令:
DateTime.Parse(STRINGVARIABLE);
//Which means following
//DateTime.Parse("05/30/2014 12:00:00");
在您的代码中,您正在尝试将格式应用于DateTime类型的变量。或者,如果要将格式直接应用于DateTime变量,则只需编写以下内容:
DateTime.Parse("05/30/2014 12:00:00").ToString("dd MMM yyyy");