我有两个日期字段,第一个存储在 MSSQL 数据库中,称为 leftDate,第二个是表单中的日期选择器,用户必须在其中选择日期。
我需要确保 selectedDate 不大于离开日期,但似乎没有任何效果。
我已将两个日期格式化为字符串并进行比较,如下所示:
leavingDate = '2023/11/30
selectedDate = '2023/12/29 //This is wrong
if(selectedDate > leavingDate)
{
//do something because the date selected is greater.
}
某些选定的日期有效,有些则无效,所以我如何确保 JS 在比较两个日期时始终有效(一个来自数据库,一个来自使用 moment.js 的输入字段)
您将需要使用 Date 对象。 Bellow 是一个代码示例,可以在在线 js 编辑器中比较日期时使用。
const leavingDateString = '2023/11/30';
const selectedDate1String = '2023/12/29';
const selectedDate2String = '2023/11/10';
const leavingDate = new Date(leavingDateString);
const selectedDate1 = new Date(selectedDate1String);
const selectedDate2 = new Date(selectedDate2String);
if(selectedDate1 > leavingDate) {
console.log("date is bigger")
} else {
console.log("wont go here")
}
if(selectedDate2 < leavingDate) {
console.log("date is smaller")
} else {
console.log("wont go here")
}
if(leavingDate == leavingDate) {
console.log("date is same")
} else {
console.log("wont go here")
}
请记住,在比较数据库中的日期时,这可能会导致一些问题,在我的例子中,时区切换了日期。