将字符串转换为DateTime时出错

时间:2013-07-09 07:59:00

标签: c# datetime

我正在尝试将字符串值转换为DateTime。它给出了一个错误,因为指定的字符串格式不正确。

这是代码,

DateTime myDate = DateTime.ParseExact("07-09-2013 01:14:14:1414", "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture);
string strDate = "07/09/2013 01:04:02:4";
Convert.ToDateTime(strDate); 
DateTime dt = DateTime.Parse(strDate);

请帮助转换相同内容。

由于

5 个答案:

答案 0 :(得分:2)

您的格式似乎不正确。应该是:

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

更新。如果代表一秒的分数的位数变化,则最好的赌注是

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

有关自定义时间和日期格式的其他选项,请参阅MSDN

答案 1 :(得分:1)

您的格式不正确: “ 07-09-2013 01:14:14:1414” “ yyyy-MM-dd HH:mm:ss”

至少您的日期是另一种方式,并且未指定毫秒。 根据此格式纠正您的格式:http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

对于downvoter: Andrei指定了正确的格式:"dd-MM-yyyy HH:mm:ss:ffff"

答案 2 :(得分:1)

尝试使用page_load事件:

Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("tr-TR")
Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("tr-TR")

答案 3 :(得分:1)

首先,你把岁月混在一起

07-09-2013 is dd-MM-yyyy format

第二,你需要一个:秒后的ffff

所以最后一行应该是

DateTime myDate = DateTime.ParseExact("2013-07-09 01:14:14:1414", "yyyy-MM-dd HH:mm:ss:ffff", System.Globalization.CultureInfo.InvariantCulture);

答案 4 :(得分:1)

首先,您应将日期格式更改为dd-MM-yyyy,因为它符合您的日期格式。

其次,对于毫秒部分,您可以使用.代替:

DateTime myDate = DateTime.ParseExact("07-09-2013 01:14:14.1414", "dd-MM-yyyy HH:mm:ss.ffff", System.Globalization.CultureInfo.InvariantCulture);
string strDate = "07/09/2013 01:04:02.4";
Convert.ToDateTime(strDate);
DateTime dt = DateTime.Parse(strDate);

这是DEMO

有关详情,请查看Custom Date and Time Format Strings