javascript - 比较 NodeJS IF 语句中的日期

标签 javascript node.js

我正在使用nodejs/javascript,并尝试将两个日期相互比较,以便在日期早于设置日期时应用特定样式。

这是我所拥有的:

var d = new Date();
var date = d.getMonth()+1+'/'+d.getDate()+'/'+(d.getFullYear().toString().substr(-2)-1);

var da = new Date('1/4/18');
var da_test = da.getMonth()+1+'/'+da.getDate()+'/'+(da.getFullYear().toString().substr(-2));

if(da_test < date) {
    // do something
}

date_test 当前返回一年前的今天,1/23/18。我已将与其进行比较的另一个日期设置为 1/4/18。虽然这应该是正确的,但由于某种原因,每当 IF 语句运行时,情况并非如此。但是,如果我将日期更改为 1/2/18 之类的日期,则会返回 true。这是怎么回事?如何更改它,以便在 2018 年 1 月 23 日之前的任意日期返回 true?

最佳答案

您可以像这样比较这两个日期:

const d1 = new Date('1/23/18');
const d2 = new Date('1/4/18');
if (d2 < d1) ...

在您的代码示例中,您正在比较两个 String

关于javascript - 比较 NodeJS IF 语句中的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54333240/

相关文章:

javascript - NodeJS Redis 客户端返回错误值

node.js - 无法弄清楚为什么docker compose up没有运行我的React JS App

javascript - 隐藏除第一个图像之外的所有图像,直到页面完全加载

javascript - 将 JavaScript 导入到 Angular2

javascript - 序列化事务批量更新,然后批量创建

Lightslider jquery 插件中的 Javascript 无法正常工作

javascript - 在 redux store 创建后注入(inject)中间件

node.js - 如何使用nodejs制作视频模块,就像facebook对照片所做的那样

ios - 为什么我的 Auth0 token 从 iOS 发送到 node.js 服务器时总是返回无效?

javascript - Google Cloud Firestore 仅查询时间戳早于 x 的文档