Vb.net System.FormatException:';字符串未被识别为有效的日期时间;

Vb.net System.FormatException:';字符串未被识别为有效的日期时间;,vb.net,visual-studio,Vb.net,Visual Studio,我在VB.Net上遇到了一个问题,我的系统的一部分出现了错误。它不保存日期,因此产生此错误。格式与日期时间选择器上的输出相同 ElseIf Date.Parse(expirationDTP.Value.ToString("MM/dd/yyyy")) <= Date.Parse(Date.Now.ToString("MM/dd/yyyy")) Then MsgBox("Select the expiration date of the stock!") ElseIf

我在VB.Net上遇到了一个问题,我的系统的一部分出现了错误。它不保存日期,因此产生此错误。格式与日期时间选择器上的输出相同

    ElseIf Date.Parse(expirationDTP.Value.ToString("MM/dd/yyyy")) <= Date.Parse(Date.Now.ToString("MM/dd/yyyy")) Then
        MsgBox("Select the expiration date of the stock!")

ElseIf Date.Parse(expirationDTP.Value.ToString(“MM/dd/yyyy”))
expirationDTP.Value
Date。现在
已经是
Date
类型。为什么将它们转换为字符串只是为了将它们转换回
Date
对象

直接比较一下:

ElseIf expirationDTP.Value <= Date.Now Then

编辑:

尝试比较两个
Date
对象的
Date
属性:

ElseIf expirationDTP.Value.Date <= Date.Now.Date Then

ElseIf expirationDTP.Value.Date如果我的答案解决了您的问题,请按我帖子左侧的勾号/复选标记将其标记为已接受。欲了解更多信息,请参阅:您应该阅读并获取更多信息,以从网站中获取更多信息-如比DownVoteHello更多的答案!谢谢,但它对我不起作用。请定义“不起作用”-这是一个非常模糊的术语。你期望它做什么?它做什么/不做什么?鉴于它是一个
ElseIf
,您是否检查过它没有通过初始
If
或其他前面的
ElseIf
s?因为正如这个简单的测试所说明的,它肯定会起作用:也可以看到我答案的编辑部分。
ElseIf expirationDTP.Value.Date <= Date.Now.Date Then