我编码了一个检查,以确保用户以dd/MM/yyyy格式输入日期。然而,它在某些计算机上不起作用,引发了异常。然而,它在我的电脑上运行时运行得很好。为什么?我做错了吗?或者我需要在电脑上做一些设置。
Try
checkDate = "24/02/2013"
selectedDate = DateTime.ParseExact(checkDate, "dd/MM/yyyy", CultureInfo.InvariantCulture)
Catch ex As Exception
lblError.Text = "Invalid Date."
End Try
您的formatProvider(ParseExact的3°参数(应该与您正在使用的格式匹配,在您的情况下这可能是错误的。InvariantCulture不是一种"一刀切"的文化;它是一种不变的文化,当您在不向用户显示日期时间的情况下继续/检索日期时间时,您可以依赖它。我认为(我现在不能尝试(你应该做这样的事情:
checkDate = "24/02/2013"
Dim dtfi As New DateTimeFormatInfo()
dtfi.ShortDatePattern = "dd/MM/yyyy"
selectedDate = DateTime.ParseExact(checkDate, "dd/MM/yyyy", dtfi)
在您的page_load中使用它可能会起作用。。
Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("en-US")
Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
当然,在美国会根据您的文化偏好进行更改
不确定出了什么问题,我重新上传了应用程序,错误就消失了。奇怪的