javascript - 获取一个日期字符串,如果到期日期距现在不到 2 周,则添加一个类来跨度

标签 javascript jquery

我已经被这个问题困扰了一段时间,我已经准备好拔掉我的头发了:)。如果事件日期在 2 周或更短的时间内到期,我必须向跨度添加一个类。检索到的日期是以下格式的字符串

2017年7月26日

当我运行这个函数时,我将日期字符串作为参数传递,因为该方法将附加到保存该字符串的 var 。但无论出于何种原因,这个逻辑都行不通。我完全搞砸了吗?它在某处悄然失败。谢谢。我知道这应该很容易,但我陷入了循环。

campMethods.EndDateAlert = function (dateString) {
    var currentDate = new Date ();
    var twoWeeks = new Date ();
    twoWeeks.setDate(currentDate.getDate() + 14)
    var $EndDateSpan = $('.campaign-end-date');

    if (dateString <= twoWeeks) { 
        $EndDateSpan.addClass('red');
  }
    return dateString;
};

最佳答案

你可以通过一些数学来做到这一点。关键是,2 周 = 14 天。

这是为您提供的纯 Javascript 示例:

var date = "07/26/2017".split("/");
var formatedDate = (date[2] + '' + date[0] + '' + date[1]);


var currentDate = new Date();

var today = currentDate.getFullYear() +''+ ("0" + (currentDate.getMonth() + 1)).slice(-2)+''+("0" + currentDate.getDate()).slice(-2); 

var compareDay = formatedDate - today;


if(compareDay < 14){// 14 day = 2 week
// do something for less than 2 weeks
console.log('Less than 2 weeks will be expired');
} else {
// also can do something
console.log('more than 2 weeks will be expired.');
}

Javascript Date Reference

关于javascript - 获取一个日期字符串,如果到期日期距现在不到 2 周,则添加一个类来跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44853668/

相关文章:

javascript - jquery 可调整大小的 1px 不匹配错误

javascript - ajax状态代码:303是什么错误

javascript - 具有唯一 php id 的模态

javascript - 将固定大小的图像限制在 div 容器内?

javascript - Ajax 调用网页方法不起作用

javascript - Vue 2 : How to render Single File Components from Render Functions?

javascript - 脉动点 JQueryUI,动画不工作

javascript - jquery 中的导航菜单下拉选项卡

javascript - 无法在jqGrid中添加按钮点击事件

javascript - 使用 jquery 对不在 HTML 表中的元素进行排序