突出显示从现在起至2周后的所有日期

时间:2014-02-06 09:52:05

标签: php jquery css

我有一个脚本,其中有一个包含耗材日期的表格。现在有很多日期+ - 600.现在我要做的是高亮显示从今天到期的所有日期,直到两周后,或者如果日期已经过去。 表格看起来像这样

现在这些只是几行。但是我怎样才能突出显示今天的所有日期,直到两周后和过去的日期自动... 我已经搜索了很多,我唯一可以找到的是两个日期之间的高位,但我想要自动 - >今天的日期 - 2周后(并且每天自动更新)

对于我的英语,我希望问题很明确 thx提前

更新代码:

<?php 
// get two weeks from now
$date_in_two_weeks = strtotime('+2 weeks');
$date_in_two_weeks = date("Y-m-d",$date_in_two_weeks);

// get the date to compare, from db or whatever you want
$date_to_compare = "2014-02-01";

// compare the date in your list to now + 2 weeks and then put the date difference into $days_difference
$date_from_list = new DateTime($date_to_compare);
$date_in_two_weeks = new DateTime($date_in_two_weeks);
$days_difference = $date_from_list->diff($date_in_two_weeks);

if ($days_difference->days > 14) {
    $highlight_css_class = "highlight";
} else {
    $highlight_css_class = "none";
}
?>
<style>
.highlight { 
    color:#cc0000;
}
.none { 
}
</style>
<fieldset>
<table class="tablesorter" id="my-table" border="1" style="border-collapse:collapse">
        <thead>
            <tr>
                <th>REK</th>
                <th>BESCHRIJVING</th>
                <th>VERVALDATUM</th>
            </tr>
        </thead>
        <tbody>


<tr><td>A1</td><td>hamburger</td><td class="<?php echo $highlight_css_class;?>">2014-02-10</td></tr>

<tr><td>A1</td><td>tomato</td><td class="<?php echo $highlight_css_class;?>">2014-06-10</td></tr>


        </tbody>
    </table>

所以所有日期现在都有课程突出显示,它们都是红色的......? 我这个代码做错了什么? 我不明白

1 个答案:

答案 0 :(得分:1)

假设您使用的是PHP 5.3&gt; ,您可以使用diff获取日期与+2周之间的差异,然后决定是否将css类应用于<td>

示例:

// get two weeks from now
$date_in_two_weeks = strtotime('+2 weeks');
$date_in_two_weeks = date("Y/m/d",$date_in_two_weeks);

// get the date to compare, from db or whatever you want
$date_to_compare = "2014/02/01";

// compare the date in your list to now + 2 weeks and then put the date difference into $days_difference
$date_from_list = new DateTime($date_to_compare);
$date_in_two_weeks = new DateTime($date_in_two_weeks);
$days_difference = $date_from_list->diff($date_in_two_weeks);

if ($days_difference->days > 14) {
    $highlight_css_class = "highlight";
} else {
    $highlight_css_class = "";
}

现在在您的表格中,将css类应用于<td>或您想要的任何位置。

<tr>
    <td>A1</td>
    <td>hamburger</td>
    <td class="<?php echo $highlight_css_class;?>">2014-02-10</td>
</tr>

当然,在CSS中使用您想要的样式创建.highlight类。

.highlight { 
    background:#e1e1e1;
}