DateTime.ParseExtract参数不正确的问题

时间:2013-11-08 15:19:41

标签: c# .net datetime

我有以下一行。 DateTime.ParseExact("08-11-2013 07:38:05", "yyyy-MM-dd HH:mm:ss", Nothing)

它会抛出错误。

参数不正确。

栈跟踪

  

at System.DateTimeParse.ParseExact(String s,String format,   DateTimeFormatInfo dtfi,DateTimeStyles style)at   System.DateTime.ParseExact(String s,String format,IFormatProvider   提供商)

提前致谢。

1 个答案:

答案 0 :(得分:4)

您的格式与您提供的日期不符,应该是:

"dd-MM-yyyy HH:mm:ss"

考虑到你的意思是2013年11月8日

你的代码应该是:

DateTime dt = DateTime.ParseExact("08-11-2013 07:38:05", 
                                  "dd-MM-yyyy HH:mm:ss", 
                                   CultureInfo.InvariantCulture); // Instead of Nothing

您还可以使用"d-M-yyyy HH:mm:ss"格式,因为它会考虑日期和月份的单位数/双位数。

它似乎是来自VB.Net的背景,其中Nothing是默认值,在C#中你可以使用null来表示你的情况或更好使用CultureInfo.InvariantCulture

有关详情,请参阅:Custom Date and Time Format Strings