2012-03-18 45 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