我知道这个已经有很多相似之处。但是,每次我在不同日期转换日期时,它都会让我感到困惑。始终显示消息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
代码有什么问题?非常感谢你。
答案 0 :(得分:2)
DateTime.Parse()
应该可以正常工作,除非您希望用户使用特定格式。
答案 1 :(得分:1)
日期参数必须采用指定的确切格式。您的格式为MM / dd / yyyy,但您提供的日期为10/1/2012。该日期当天有1位数字,您指定当天的2位数字。请参阅文档here
答案 2 :(得分:0)
检查web.config的全球化标签 它应该是这样的
> <globalization requestEncoding="windows-1252"
> responseEncoding="windows-1252" culture="en-GB"/>
默认情况下是美国文化......
答案 3 :(得分:0)
如果您不知道是否有一个或两个数字,请在格式字符串中使用单个字母。在你的情况下
"M/d/yyyy"
当您使用Nothing
作为格式提供者时,格式字符串中/
的解释取决于当前文化的日期分隔符。