首页 > 解决方案 > 我如何比较日期字符串?

问题描述

我需要检查日期是否在minDatemaxDate之间。但是当我尝试与 minDate 进行比较时,我应该得到有效的错误但我得到了真实的..

            let minDate = "27-05-2019";
        let maxDate = "27-05-2019";
        let date = "13-02-2018";
        var valid;

        if(new Date(date.replace( /(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3")).toDateString() >= new Date(minDate.replace( /(\d{2})-(\d{2})-(\d{4})/, "$2/$1/$3")).toDateString()){
            valid = true;
            } else {
            valid = false;
            }
            
            console.log(valid);

提前致谢

标签: javascripttypescriptdate

解决方案


使用moment.js

isBetween -链接

moment().isBetween(moment-like, moment-like);

例子

let minDate = "27-05-2019";
let maxDate = "27-05-2019";
let date = "13-02-2018";

moment(date).isBetween(moment(minDate), moment(maxDate));

推荐阅读