我只是在寻找一点澄清.
PHP 5.4消除了TZ环境变量和date_default_timezone_get过去做的“猜测”.所以现在在我看来,根本没办法得到服务器的时区.
所以我的问题是:是否可以在PHP 5.4中获取服务器时区?我知道我可以在PHP.ini手动设置它,但是当有一台电脑完全有能力知道什么时间的时候,这似乎是一种愚蠢的事情.我期望答案是“否”,所以也许有人可以说明为什么编程语言将无法确定其时区如果是这样的话.
没有可靠的方式来猜测每个系统的时区.不同的系统使用不同的约定,有时甚至不同的时区定义(例如Unix和Windows)有时具有冲突的时区说明符(相同的3字母区域缩写可能意味着不同的地方).所以如果你想要在系统之间移植代码,唯一可靠的方法是询问用户.参见例如这个线程:
http://marc.info/?t=132356551500002&r=1&w=2
关于它的一些问题(查找Derick Rethans的电子邮件 – 他是PHP日期延长维护者).
http://marc.info/?t=132356551500002&r=1&w=2
关于它的一些问题(查找Derick Rethans的电子邮件 – 他是PHP日期延长维护者).
如果您有一种方法可以找出您信任的时区(例如TZ变量),那么您可以随时执行date_default_timezone_set($_ SERVER [‘TZ’]);.但是总的来说这不是一个可靠的方法,所以一定是你决定信任它,PHP不能为你做.