0
的開始我一直在放置一個每週查看日曆,讓用戶使用表單上的按鈕向後或向前移動一週。除了當日歷第一次打開它時,一切運行良好,即當前日期如果是一週的開始,那麼剩下的日子全部結束。日曆認爲當天是
這裏是我迄今爲止...
if(isset($_POST['add_week'])){
$last_week_ts = strtotime($_POST['last_week']);
$display_week_ts = $last_week_ts + (3600 * 24 * 7);
} else if (isset($_POST['back_week'])) {
$last_week_ts = strtotime($_POST['last_week']);
$display_week_ts = $last_week_ts - (3600 * 24 * 7);
} else {
$display_week_ts = floor(time()/(3600 * 24)) * 3600 * 24;
}
$week_start = date('d-m-Y', $display_week_ts);
for ($i = 0; $i < 7; $i++) {
$current_day_ts = $display_week_ts + ($i * 3600 *24);
echo date('d-m-Y', $current_day_ts);
}
我知道是什麼問題,該行
$display_week_ts = floor(time()/(3600 * 24)) * 3600 * 24;
它調用當前的一天,但$ week_start需要是第一天一週,但我已經嘗試了一切,我可以找到。我曾嘗試
$display_week_ts = strtotime("Monday noon");
這似乎直到達到日記週一10月29日,此時它似乎跳過了一天,使10月29日星期二,而不是運行良好。
我發現在這個網站上找到了本週初的另一個話題,但我一直無法成功地實現它們
我會在這方面的任何幫助非常感謝,我一直在努力關於它在這裏已經三天......
嗨,非常感謝你,我將如何將其納入我的代碼?它工作正常,直到我試圖移動到下一個或上個星期 – tatty27
@ user1267224當您顯示第一週時,在會話中存儲'$ display_week_ts'的值。然後,在下週移動時,將「3600 * 24」添加到該值並存儲回會話。同樣,移到前一週時減去。然後,您可以始終將此值用作日曆的開始日期。 –
嗨,我設法讓它工作,但是現在發生的事情與我使用strtotime('monday noon')時相同,它在2012年10月28日前跳過了一天。可能是因爲這是同一天英國夏天時間結束和時鐘回到一小時 – tatty27