C# 将字符串转换为DateTime时出错

C# 将字符串转换为DateTime时出错,c#,datetime,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

我正在尝试将字符串值转换为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);
请帮助转换相同的


谢谢

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

"dd-MM-yyyy HH:mm:ss:ffff"
更新。如果表示一秒分数的位数不同,则最佳匹配为

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

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

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

"dd-MM-yyyy HH:mm:ss:ffff"
更新。如果表示一秒分数的位数不同,则最佳匹配为

"dd-MM-yyyy HH:mm:ss:FFFFFFF"
有关自定义时间和日期格式的其他选项,请参阅。

您的格式不正确: “07-09-201301:14:14:1414” “yyyy-MM-ddHH:MM:ss”

至少日期是相反的,并且没有指定毫秒。 请根据以下内容更正您的格式:

对于选民: 安德烈指定了正确的格式:
“dd-MM-yyyy-HH:MM:ss:ffff”
您的格式不正确: “07-09-201301:14:14:1414” “yyyy-MM-ddHH:MM:ss”

至少日期是相反的,并且没有指定毫秒。 请根据以下内容更正您的格式:

对于选民:
正确的格式由Andrei指定:
“dd-MM-yyy-HH:MM:ss:ffff”
在页面加载事件中尝试:

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

在页面加载事件中尝试:

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

首先,你在这里混了好几年

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);

首先,你在这里混了好几年

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);

首先,您应该将日期格式更改为
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);
这里有一个


有关详细信息,请选中

首先,您应该将日期格式更改为
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);
这里有一个



有关详细信息,请检查

从未听说过此异常。@TimSchmelter哦,住手,你。我的回答对你来说不起作用?从未听说过这种例外情况。@TimSchmelter哦,住手,你。我的回答对你来说不起作用?是的,有人在贬低你,但你是对的。不过你应该更清楚事实上,我正试图让维杰明白为什么这是错误的。正确的格式是由Andrei发布的。是的,有人在否决你,但你是对的。不过你应该更清楚事实上,我正试图让维杰明白为什么这是错误的。正确的格式由Andrei发布。
Page\u Load
?为什么?你为什么强迫他使用土耳其文化。那是没有意义的。你可以看看他的问题是否与文化有关。土耳其文化,因为据我所知,他试图将日期转换为dd/MM/yyyy格式。。我只是建议进行一次快速测试,而不是实际解决问题的方法,因此在我的回答的开头有一个词“Try”。你肯定会把它放在评论中,因为这个字段是用来回答的…@Emin首先,这可能是一个控制台应用程序,也可能是一个winforms应用程序。你不能肯定。其次,OP在他的代码中使用了
InvariantCulture
,因此他想独立于文化来解析它。没有必要建议他使用特定的文化。
Page\u Load
?为什么?你为什么强迫他使用土耳其文化。那是没有意义的。你可以看看他的问题是否与文化有关。土耳其文化,因为据我所知,他试图将日期转换为dd/MM/yyyy格式。。我只是建议进行一次快速测试,而不是实际解决问题的方法,因此在我的回答的开头有一个词“Try”。你肯定会把它放在评论中,因为这个字段是用来回答的…@Emin首先,这可能是一个控制台应用程序,也可能是一个winforms应用程序。你不能肯定。其次,OP在他的代码中使用了
InvariantCulture
,因此他想独立于文化来解析它。没有必要建议他使用特定的区域性。你确定这有效吗,猜测毫秒部分需要一个小数点,如
ss.ff
1414建议使用4个字符,即“ffff”。见@Andrei,这项工作已完成,并附加了AM/PM。我怎样才能去掉我/PM@VijayBalkawade,原始字符串中没有AM/PM,因此不清楚附加的AM/PM是什么意思。但是,您始终可以将
tt
添加到格式中以考虑这些因素:
dd-MM-yyy-HH:MM:ss:ffff tt
应成功解析
07-09-2013 01:14:14:1414 AM
@Andrei输出为9/7/2013 1:14:14 AM。我想删除AM或PM。你确定这有效吗,猜测毫秒部分需要一个小数点,如
ss.ff
1414建议使用4个字符,即“ffff”。见@Andrei,这项工作已完成,并附加了AM/PM。我怎样才能去掉我/PM@VijayBalkawade,原始字符串中没有AM/PM,因此不清楚附加的AM/PM是什么意思。但是,您始终可以将
tt
添加到格式中以考虑这些因素:
dd-MM-yyy-HH:MM:ss:ffff tt
应成功解析
07-09-2013 01:14:14:1414 AM
@Andrei输出为9/7/2013 1:14:14 AM。我想删除AM或PM。