2012-03-18 72 views
2

對不起,如果這看起來像一個愚蠢的問題。我可能錯過了一些顯而易見的東西,但我一直在爲這個問題而掙扎,而且已經無處可尋。我試過尋找,但一直沒有找到足夠具體的東西,所以我在這裏問,希望有人比我更聰明,可以幫助我。PHP strtotime無法識別新服務器上的「2012-W11」

我正在使用以下PHP代碼行來獲取當前周開始的時間戳。

strtotime(date('o-\\WW', time())); 

這工作得很好我的本地服務器上,它工作得很好我的即時共享主機,但現在,我已經感動我的網站到虛擬專用服務器返回一個空白。

date()部分在所有服務器上工作正常,即。

date('o-\\WW', time()) today returns 2012-W11 on all servers 

因此,問題是與方式的strtotime變成2012-W11成時間戳,即一個問題,運行的strtotime(「2012-W11」)

我猜一定是在差異新的虛擬專用服務器的設置方式導致它無法以預期的方式做到這一點,但我不能在我的生活中弄清楚它是什麼。

在此先感謝您的幫助

+1

服務器運行哪些操作系統? – 2012-03-18 16:07:19

+0

CentOS我相信新的虛擬專用服務器。本地服務器在Windows上,共享主機是Linux,但我不知道比這更具體。 – 365SplendidSuns 2012-03-18 16:09:09

+1

我不確定可以做些什麼來解決這個問題 - 如果有任何問題*可以完成。這是做你想要的計算的另一種方法。 http://stackoverflow.com/questions/1897727/get-first-day-of-week-in-php – 2012-03-18 16:12:50

回答

0

您可以使用下面的代碼獲取當前周

$weekFirstDay = strtotime('Monday this week'); 

從PHP Manaul的第一天

+0

這是個竅門,但是它提前了一週。今天是星期天,可能與每個星期的開始時間有關。我會玩一玩,但這肯定會做到。 – 365SplendidSuns 2012-03-18 16:42:23

1

嘗試改變格式的strtotime('2012 +11周')

+0

經過測試,它確實返回時間戳!這不是一個正確的選擇,因爲我猜它會從2012年初開始回到+11周,無論2012年開始的那一天是什麼,而是第11周開始的時間戳。儘管如此,謝謝你的工作。 – 365SplendidSuns 2012-03-18 16:33:12