仅限单台计算机上的问题 - 从字符串转换为类型'日期'无效

时间:2017-11-30 20:52:13

标签: vb.net

我很遗憾不得不写一个模糊的问题,但我不确定该尝试什么。我有一般的编程经验,但没有访问源代码,而没有很多VB / .NET的经验

我们有一个定制(阅读:Crappy)CRM软件,我们在工作中使用这些软件是由早已离开公司的人写成的〜2008年。它适用于Windows 7和Windows 10,适用于多个用户。我正在尝试帮助用户处理"意外的程序错误":

" frmMain - FillGridTable 从字符串转换" 03/31/2016 15:23:22"输入'日期'无效。"

当我关闭对话框时,它只是说" LoopX = 0"

我无权访问源代码,无论如何,它都可以在其他所有计算机上运行。

这可能是计算机上某种类型库的问题吗?有没有办法检查.NET / Microsoft库的计算机之间的版本?

感谢您的任何想法!

2 个答案:

答案 0 :(得分:1)

Chase Rocker帮助我在这个问题上留下了评论。

Windows日期/时间格式设置显示的日期格式不正确。通过将其更改为MM / dd / YYYY格式解决了这个问题,错误是建议程序预期的。

答案 1 :(得分:1)

我很高兴看到您通过更改计算机的区域设置解决了这个问题,但说实话,这对您想要做的事情可能有点过头了。相反,您可以使用DateTime.TryParseExact函数。

以下是使用内置方法的快速示例:

Dim conversion As DateTime
Dim input As String = "11/30/2017"

If DateTime.TryParseExact(input, "MM/dd/yyyy", New CultureInfo("en-US"), DateTimeStyles.None, conversion) Then
    'Converted successfully
Else
    'A true conversion error occured
End If

小提琴:Live Demo