JavaScript 比较两个日期输入字段

问题描述 投票:0回答:1

我有两个日期字段,第一个存储在 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 的输入字段)

javascript asp.net
1个回答
0
投票

您将需要使用 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") 
}

请记住,在比较数据库中的日期时,这可能会导致一些问题,在我的例子中,时区切换了日期。

© www.soinside.com 2019 - 2024. All rights reserved.