我正在构建一个PHP日历,我想今天用Bootstrap类info
来强调。到目前为止,这是我的代码循环显示日期:
<?php
$timestamp = mktime(0, 0, 0, $current_month, 1, $current_year);
$max_day = date("t", $timestamp);
$this_month = getdate($timestamp);
$start_day = $this_month["wday"];
for ($i = 0; $i < ($max_day + $start_day); $i++) {
if ($i % 7 == 0) {
echo "<tr>\n";
}
if ($i < $start_day) {
echo "<td></td>\n";
} else {
echo "<td class=\"text-center\" style=\"height:100px;valign:middle\">" . ($i - $start_day + 1) . "</td>\n";
}
if ($i % 7 == 6) {
echo "</tr>\n";
}
}
?>
我想以某种方式获取今天的日期(date()
?)并将其与我for
循环中当前使用的日期进行比较,如果他们添加了<td>
类比赛。但是,我正在试图弄清楚如何做到这一点。任何帮助将不胜感激。
答案 0 :(得分:0)
为什么不使用strtotime()
对它们进行比较?您可以将$ max_day转换为类似这样的时间戳
$unix_max_day = strtotime($max_day);
并将其与$timestamp
所以例如......
if($unix_max_day < $timestamp){
echo '$max_day is less than $timestamp';
}
希望这就是你的意思...... :)
答案 1 :(得分:0)
我必须进行三次检查,因为我使用的日期在数组$this_month[]
中,一个检查日是相同的,一个检查月是相同的,然后检查年是一样的。
将结果放入变量$td
,如下所示:
$td = ((($i - $start_day + 1) == date("j")) && ($this_month["mon"] == date("n")) && ($this_month["year"] == date("Y")) ? "info" : "");
谁知道这是否是最有效的方式。