某台计算机上的字符串到日期异常



我编码了一个检查,以确保用户以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")

当然,在美国会根据您的文化偏好进行更改

不确定出了什么问题,我重新上传了应用程序,错误就消失了。奇怪的

相关内容

  • 没有找到相关文章

最新更新