1

我知道这个已经有很多相似之处了。但是,每次我在不同日期转换日期时都会让我感到困惑。String was not recognized as a valid DateTime.始终显示该消息。

我已经尝试了一些这样的代码:

Dim EffectiveDate As DateTime

EffectiveDate  = DateTime.ParseExact("05/08/2012", "MM/dd/yyyy", Nothing)
EffectiveDate  = DateTime.ParseExact("5/8/2012", "MM/dd/yyyy", Nothing)
EffectiveDate  = DateTime.ParseExact("1/10/2012", "MM/dd/yyyy", Nothing)
EffectiveDate  = DateTime.ParseExact("10/1/2012", "MM/dd/yyyy", Nothing)
//It resulted in got the message above

EffectiveDate  = DateTime.ParseExact("10/10/2012", "MM/dd/yyyy", Nothing)
//It has no problem

代码有什么问题??非常感谢你。

4

4 回答 4

2

DateTime.Parse()在大多数情况下应该可以正常工作,除非您希望用户使用特定格式。

http://msdn.microsoft.com/en-us/library/1k1skd40.aspx

于 2012-05-08T02:11:00.973 回答
1

日期参数必须采用指定的确切格式。您的格式是 MM/dd/yyyy,但您提供的日期是 2012 年 10 月 1 日。该日期有 1 位数字表示当天,您指定了 2 位数字表示当天。请参阅此处的文档

于 2012-05-08T02:04:39.337 回答
0

检查 web.config 的全球化标签应该是这样的

> <globalization requestEncoding="windows-1252"
> responseEncoding="windows-1252" culture="en-GB"/>

默认情况下来自美国文化......

于 2012-05-16T12:25:05.980 回答
0

如果您不知道是否会有一位或两位数字,请在格式字符串中使用单个字母。在你的情况下

"M/d/yyyy"

当您Nothing用作格式提供程序时,/格式字符串中的解释取决于当前区域性的日期分隔符。

于 2013-02-12T21:27:23.427 回答