Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
578 views
in Technique[技术] by (71.8m points)

js 如何知道今天的日期是否是2020-07-05或已经超过这个日期了

在这里先感谢各位大哥大姐抽空来回答我的问题!

let time = '2020-07-05'

我该怎么知道今天的日期已经超过2020-07-05或者今天就是2020-07-05,如果已经超过了或今天就是这个日期返回true,没有就返回false


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
/**
 * @function timeCompare - 将日期字符串与当前日期进行比较
 * @returns {Number} - true - 今天及以后, false - 今天以前
 */
const timeCompare = time => {
    // 今天 0 时的时间戳
    const momentOfToday = (
        new Date(
            (
                new Date()
            ).toLocaleDateString())
        ).valueOf();
    
    // 传入的日期的时间戳
    const momentOfTime = (
        new Date(
            // replace 仅仅是为了去除月份前的 '0'
            // 应该有更好的方法去掉
            time.replace(
                /(d{4}).+(d{2}).+(d{2})/,
                ($0, $1, $2, $3) => {
                    return [$1, $2, $3].map(i => +i).join('/');
                }
            )
        )
    ).valueOf();
    
    return momentOfTime > momentOfToday
}

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...