Javascript 突出显示过去的日期和未来两周内到期的日期
我正在与一些代码斗争一段时间,现在我无法解决它。我有一个纯html格式的表格。这个html文件每天发送给我,html文件中的日期每天都在更新 它有一个表结构。货架上的编号、说明和产品过期日期:Javascript 突出显示过去的日期和未来两周内到期的日期,javascript,php,jquery,css,Javascript,Php,Jquery,Css,我正在与一些代码斗争一段时间,现在我无法解决它。我有一个纯html格式的表格。这个html文件每天发送给我,html文件中的日期每天都在更新 它有一个表结构。货架上的编号、说明和产品过期日期: <table> <tr><td>1</td><td>coca cola</td><td>2014-08-17</td></tr> <tr><td>2</
<table>
<tr><td>1</td><td>coca cola</td><td>2014-08-17</td></tr>
<tr><td>2</td><td>bread</td><td>2014-02-13</td></tr>
<tr><td>3</td><td>apple</td><td>2014-01-20</td></tr>
<tr><td>4</td><td>cookies</td><td>2014-04-03</td></tr>
</table>
CSS
<style type="text/css">
.red {
color : #f00;
}
.orange {
color : #ffa500;
}
</style>
红色{
颜色:#f00;
}
橙色{
颜色:#ffa500;
}
但这不起作用。。。所有的枣子都是红色的,也都是彩色的。。。。有人能帮我吗。我正在努力修复这4天了 试试这个:)请按我需要的分数打。谢谢:)
$date_to_compare = "2014/02/08";
$dateNow = new DateTime("now");
$dateCompare = new DateTime($date_to_compare);
$difference = $dateNow->diff($dateCompare);
$highlight_css_class = '';
if ($difference->invert)
$highlight_css_class = 'orange';
elseif ($difference->days <= 14)
$highlight_css_class = 'red';
}
echo $highlight_css_class;
?>
$date\u to\u compare=“2014/02/08”;
$dateNow=新日期时间(“现在”);
$dateCompare=新日期时间($date\u to\u compare);
$difference=$dateNow->diff($dateCompare);
$highlight_css_class='';
如果($difference->invert)
$highlight_css_class='orange';
其他($差异->天)
此JS将从您的tr标签中每隔三个孩子中挑选一个,按破折号将日期拆分为一个数组,将该数组用作日期,计算出该日期与当前日期之间的时间差(以天为单位),然后应用您的颜色样式
var parents=document.getElementsByTagName(“tr”)
对于(变量i=0,ii=parents.length;i 否则,如果(不同的是现在你自己问题的四个副本中的一个,请立即停止。哦,我的thx终于有人帮助我了。工作很有魅力:)@user3090697请删除你的这个问题的副本,以合并其他寻求类似解决方案的人。
<style type="text/css">
.red {
color : #f00;
}
.orange {
color : #ffa500;
}
</style>
$date_to_compare = "2014/02/08";
$dateNow = new DateTime("now");
$dateCompare = new DateTime($date_to_compare);
$difference = $dateNow->diff($dateCompare);
$highlight_css_class = '';
if ($difference->invert)
$highlight_css_class = 'orange';
elseif ($difference->days <= 14)
$highlight_css_class = 'red';
}
echo $highlight_css_class;
?>
var parents = document.getElementsByTagName("tr")
for (var i = 0, ii = parents.length; i < ii; i++) {
var parent = parents[i],
children = parent.children
for (var j = 0, jj = children.length; j < jj; j++) {
var elem = children[j]
if (j % 3 === 2) {
var dateElement = elem.innerHTML;
var dateArray = dateElement.split("-");
var prevTime = new Date(dateArray);
var thisTime = new Date();
var diff = prevTime.getTime() - thisTime.getTime();
var days = 1000*60*60*24;
var diffInDays = Math.ceil(diff / days);
if (diffInDays < 0) {
elem.style.color = "#ffa500";
}
else if (diffInDays <= 14) {
elem.style.color = "#ff0000";
}
}
} }