0

我正在尝试将字符串值转换为 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);

请帮助转换相同的。

谢谢

4

5 回答 5

2

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

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

更新。如果代表几分之一秒的位数不同,那么最好的选择是

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

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

于 2013-07-09T08:00:54.110 回答
1

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

至少您的日期是相反的,并且没有指定毫秒。根据此更正您的格式:http: //msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

对于downvoter:正确的格式由安德烈指定:"dd-MM-yyyy HH:mm:ss:ffff"

于 2013-07-09T08:02:15.790 回答
1

在您的 page_load 事件中尝试:

Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("tr-TR")
Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("tr-TR")
于 2013-07-09T08:03:14.797 回答
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);
于 2013-07-09T08:05:51.933 回答
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

于 2013-07-09T08:08:54.090 回答