经过片刻的灵感,我的问题的解决方案对我来说变得很明显(我正在骑自行车)。的 '$now' 部分
strtottime( string $time {,int $now ])
需要设置为当前日期。不是“$time()-now”,而是“我关心的当前日期/我正在查看我的日志。
即:如果我正在查看 2008 年 8 月 10 日的时间表摘要,那么根据 strtotime(),那就是“现在”;昨天是 8/09,明天是 8/11。有一天我爬起来,“现在”是 8/11,昨天是 8/10,明天是 8/12。
这是代码示例:
<?php
//catch variable
$givendate=$_GET['given'];
//convert given date to unix timestamp
$date=strtotime($givendate);
echo "Date Set As...: ".date('m/d/Y',$date)."<br />";
//use given date to show day before
$yesterday=strtotime('-1 day',$date);
echo "Day Before: ".date('m/d/Y',$yesterday)."<br />";
//same for next day
$tomorrow=strtotime('+1 day',$date);
echo "Next Day: ".date('m/d/Y',$tomorrow)."<br />";
$lastmonday=strtotime('last monday, 1 week ago',$date);
echo "Last Moday: ".date('D m/d/Y',$lastmonday)."<br />";
//form
echo "<form method=\"get\" action=\"{$_SERVER['PHP_SELF']}\">";
//link to subtract a day
echo "<a href=\"newtimetravel.php?given=".date('m/d/Y',$yesterday)."\"><< </a>";
//show current day
echo "<input type=\"text\" name=\"given\" value=\"$givendate\">";
//link to add a day
echo "<a href=\"newtimetravel.php?given=".date('m/d/Y',$tomorrow)."\"> >></a><br />";
//submit manually entered day
echo "<input type=\"submit\" name=\"changetime\" value=\"Set Current Date\">";
//close form
echo "<form><br />";
?>
点击“<<”和“>>”进退相关日期