System.FormatException:'字符串未被识别为有效的DateTime。'

时间:2018-01-20 10:04:21

标签: vb.net visual-studio

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

Job.aggregate([ 
       {$match: {created_by: req.params.userId }},
       {$lookup: {
           from: "users", 
           localField: "applicant._id", 
           foreignField: "_id", 
           as: "applicant" }
       },
       {$unwind: {
           path :'$applicant', 
           preserveNullAndEmptyArrays: true}
       }
     ])

这是输出的图像。

Date Output

谢谢!

1 个答案:

答案 0 :(得分:0)

expirationDTP.ValueDate.Now已经是Date类型。为什么要将它们转换为字符串只是为了将它们 返回 转换为Date个对象?

直接比较它们:

ElseIf expirationDTP.Value <= Date.Now Then

为了将来参考,出现实际错误是因为Date.Parse()尝试使用当前系统的文化设置来解析日期。如果您需要解析特定的日期格式,则应使用Date.ParseExact()

Date.ParseExact("01/20/2018", "MM/dd/yyyy", CultureInfo.InvariantCulture)

修改

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

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

如果它仍然无效,您将不得不检查是否有任何先前的ElseIf或初始If被执行。由于您还没有显示任何代码,因此我无能为力。