我在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}
}
])
这是输出的图像。
谢谢!
答案 0 :(得分:0)
expirationDTP.Value
和Date.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
被执行。由于您还没有显示任何代码,因此我无能为力。