प्रेरणा के एक पल के बाद, मेरे प्रश्न का समाधान मेरे लिए स्पष्ट हो गया (मैं अपनी बाइक की सवारी कर रहा था)। का '$ अब' हिस्सा
strtottime( string $time {,int $now ])
वर्तमान तारीख के रूप में सेट करने की जरूरत है। नहीं "$ time() - अब", लेकिन "जिस तारीख से मैं चिंतित हूं/मैं इसके लिए लॉग इन कर रहा हूं।
यानी: अगर मैं 8/10/2008 के लिए टाइम्सशीट सारांश देख रहा हूं, तो यह स्ट्रेटोटाइम() के अनुसार "अब" है; कल 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)."
";
//use given date to show day before
$yesterday=strtotime('-1 day',$date);
echo "Day Before: ".date('m/d/Y',$yesterday)."
";
//same for next day
$tomorrow=strtotime('+1 day',$date);
echo "Next Day: ".date('m/d/Y',$tomorrow)."
";
$lastmonday=strtotime('last monday, 1 week ago',$date);
echo "Last Moday: ".date('D m/d/Y',$lastmonday)."
";
//form
echo "<form method=\"get\" action=\"{$_SERVER['PHP_SELF']}\">";
//link to subtract a day
echo "<< ";
//show current day
echo "<input type=\"text\" name=\"given\" value=\"$givendate\">";
//link to add a day
echo " >>
";
//submit manually entered day
echo "<input type=\"submit\" name=\"changetime\" value=\"Set Current Date\">";
//close form
echo "<form>
";
?>
Clicking on the "<<" and ">>" advances and retreats the day in question