【发布时间】:2013-02-10 16:25:28
【问题描述】:
我编写了检查代码以确保用户以 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
【问题讨论】:
-
异常情况是什么?
-
由于它只出现在某些计算机上,因此问题可能是由不同的文化引起的。如果您查看 MSDN 文档,您会发现他们在示例代码中使用“d”作为格式来解析日期。
-
@Hanno 从理论上讲,文化应该不是问题,因为文化和格式已明确指定。
-
感谢大家的 cmets。我如何改变文化?我将区域和语言设置设置为与我的计算机相同,但它仍然无法正常工作。我需要回到电脑上看看打印了什么异常。但它很奇怪,我的朋友和我的电脑运行良好,但我们部署应用程序的桌面似乎不允许我们在 dd/MM/yyyy 中解析它。是否有其他方法可以检查输入的日期是否为 dd/MM/yyyy 格式?
-
@StevenDoggart 我知道,但这很可疑,我没有看到任何其他潜在问题。 @ user2107475 如果您检查诸如“01/01/2013”之类的日期会发生什么? (切换日/月不成问题)