當我在WAMP上運行這個時,當我相信我應該得到「星期五」時,我得到「星期三」。鑑於明天是2014年10月10日星期五和10日,我有理由相信它應該是星期五。 :-DPHP日期函數生成錯誤的星期幾?
$start_day = date("D","2014-10-10");
echo $start_day;
我必須失去了一些東西明顯。我從來沒有遇到日期函數的問題。
預先感謝您的寶貴意見。
當我在WAMP上運行這個時,當我相信我應該得到「星期五」時,我得到「星期三」。鑑於明天是2014年10月10日星期五和10日,我有理由相信它應該是星期五。 :-DPHP日期函數生成錯誤的星期幾?
$start_day = date("D","2014-10-10");
echo $start_day;
我必須失去了一些東西明顯。我從來沒有遇到日期函數的問題。
預先感謝您的寶貴意見。
日期函數的第二個參數是代表數的整數自unix時代(1-1-1970)開始以來的秒數,而不是一些自由形式的日期字符串。所以,真的,你問的是一週中的哪一天是在1-1-1970之後的2014年。
你一定想先使用stringtotime:
$start_day = date("D",strtotime("2014-10-10"));
echo $start_day;
感謝您的幫助。自從我構造了一個日期時間參數(大約18個月)後,我一直在玩弄Date :: Time結構,以便在返回到此方法之前從字符串中獲取它。 – irthinker 2014-10-09 20:55:09
timestamp
的參數should be a Unix timestamp (integer),而不是字符串:
timestamp
可選的時間戳參數是一個整數Unix時間戳,如果時間戳沒有給出默認爲當前本地時間。換句話說,它默認爲time()的值。
您可以使用strtotime
將字符串轉換爲合適的時間戳。
日期()需要使用時間戳作爲其第二個參數。你正在傳遞一個隨機字符串。由於它是一個字符串,它會嘗試將該數字編號轉換爲一個字符串,並最終以「數字」結束。
所以你真的做
date('D', 2010);
對應於(大約)一月1,1970上午十二時50分00秒
謝謝。我向你保證我讀過文檔。我現在正處於一種混亂的狀態,而且日期時間操縱很生疏。 – irthinker 2014-10-09 20:56:05
這也發生我的虛擬主機上,讓我比以往任何時候,我失去了一些東西明顯更擔心。 – irthinker 2014-10-09 20:46:02
'date'不包含字符串。它需要一個時間戳。 – vch 2014-10-09 20:48:23
是的,我現在感覺很蠢,但是我已經達到了一個我完全無視錯誤的地步。可能太少咖啡因/睡眠。 – irthinker 2014-10-09 21:36:00