我已经被这个问题困扰了一段时间,我已经准备好拔掉我的头发了:)。如果事件日期在 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 - 获取一个日期字符串,如果到期日期距现在不到 2 周,则添加一个类来跨度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44853668/