2013-04-09 34 views
0

我有我的Excel文件,从那里我得到的日期字符串格式为“30-12-1899 07:50:00:AM”字符串没有得到转化为datetime

当我试图将其转换到DATETIME那么它给误差

String was not recognized as a valid DateTime 

我试图将其转换这样

Convert.ToDateTime(homeToSchool[7],new DateTimeFormatInfo { ShortDatePattern = "dd-MM-yyyy", DateSeparator = "-" }) 
+0

你的模式'DD -MM-yyyy'与您的输入不符。正确的模式是'dd-MM-yyyy hh:ss:mm tt'。 – 2013-04-09 06:27:55

回答

3

使用DateTime.ParseExact

string myDate = "30-12-1899 07:50:00:AM"; 
DateTime dt1 = DateTime.ParseExact(myDate, "dd-MM-yyyy hh:mm:ss:tt", 
              CultureInfo.InvariantCulture) 

有关日期和时间格式字符串的更多信息,

+0

这是一个dejavu吗? =) – 2013-04-09 06:27:16

+0

@SonerGönül也许:D – 2013-04-09 06:27:39

+1

哦是啊[是](​​http://stackoverflow.com/a/15894433/447156)':D' – 2013-04-09 06:28:20

0

因为你是从Excel阅读此我希望这将有助于

DateTime.FromOADate(homeToSchool[7].ToString("dd-MMM-yyyy");