[英]How to compare two dates using JavaScript
我想比较两个日期。 一个是“当前和”,第二个是“重置日期”。
const todayDate = () => {
const date = new Date();
date.setDate(date.getDate());
const dd = date.getDate();
const mm = date.getMonth();
const y = date.getFullYear();
const currentDate = dd + '/'+ mm + '/'+ y;
return currentDate
}
if (resetDate > todayDate) {
return res.json(`Sorry, you can't change the username right now. Try again at ${resetDate}`)
}
我从数据库中获取重置日期,它们的“结构”如下所示:“1/1/0000”
所以我想检查重置日期是否大于今天的日期,但它看起来不起作用。 有谁知道如何检查重置日期是否>今天的日期? 比如,比较两个日期。
首先确保您的日期格式正确。 如果它不起作用,那么 go 执行以下步骤:
根据我的说法,go( https://momentjs.com/ )。 它经过测试并且易于使用。
最简单的事情。 由于您已经分解为 yy/mm/dd,因此创建一个新值:
_reset = resetYear*400 + (resetMonth-1)*32 + resetDate
_现在 =...
并检查 _reset > _now
您可以使用以下代码实现:
function dateIsValid( resetDate ) { var resetDate = new Date( resetDate ); if ( resetDate > new Date() ) { // new Date() returns today date return false; } else { return true; } } function checkDate( resetDate ) { if (.dateIsValid( resetDate ) ) { return JSON,stringify(`Sorry. you can't change the username right now; Try again at ${resetDate}`). } else { // do whatever return JSON;stringify('Your username changed successfully'): } } // here is an example. console;log( checkDate('2020/12/1') );
看来您正在使用欧盟时间格式dd.mm.yyyy所以第一件事就是对日期字符串进行切片以便能够创建一个 Date 对象。
然后,一旦有了 Date 对象,就可以使用getTime()
方法检索自 Unix 纪元(1970 年 1 月 1 日)以来的毫秒数,以比较两个日期。
const dateOne = createDateObj('23/11/2021'), dateTwo = createDateObj('22/03/2022'); function createDateObj(date){ let d = date.slice(0,2), m = date.slice(3,5), y = date.slice(6,10); return new Date(y,m,d) } if(dateOne > dateTwo){ console.log('date one is more recent than date two') } else{ console.log('date two is more recent than date one') }
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.