【发布时间】:2014-02-06 19:13:10
【问题描述】:
我正在尝试获取一组可以更改所选帖子日期值的函数。
我在每个函数中使用 if else 语句来更改每个帖子的日期值, 日期过期时更改值有效,但我似乎无法更改未来的日期值。不知道如何使用 new Date().getTime() 来获取未来的日期
非常感谢您的帮助
这是一个小提琴 - http://jsfiddle.net/6QmRU/
代码如下
$('.post-title').each(function () {
if (new Date($(this).data('date')).getTime() < new Date().getTime()) {
$(this).css({
opacity: 0.5,
border: '2px solid red'
});
$(this).find('.post-date-input').text('This has expired');
}
//Today
else if (new Date($(this).data('date')).getTime() == new Date().getTime()){
$(this).find('.post-date-input').text('This is today');
}
//Tommorow
else if (new Date($(this).data('date')).getTime() == new Date().getTime() + 1){
$(this).find('.post-date-input').text('This is tomorrow');
}
});
【问题讨论】:
-
getTime 返回纪元的毫秒数,所以如果现在的日期与您帖子上的日期相匹配,您将非常幸运,因为这几乎就像中了彩票一样。您必须将 Date 对象重置为零时间 (00:00) 并仅比较天数。另请注意,控制台中显示了多个语法错误。
-
请使用变量代替评估/写入
new Date($(this).data('date')).getTime()、new Date().getTime()和$(this).find('.post-date-input').text(…)三次。 -
@adeneo 所以我目前的做法不正确?你能指出我最好的方法吗?
标签: javascript jquery date if-statement time