date_default_timezone_set("Europe/London") 不返回正确的时间

Posted

技术标签:

【中文标题】date_default_timezone_set("Europe/London") 不返回正确的时间【英文标题】:date_default_timezone_set("Europe/London") does not return correct time 【发布时间】:2011-09-06 07:12:39 【问题描述】:

当我使用以下代码获取当前伦敦时间时,它给出了错误的时间。

在测试时,当前伦敦时间是 2011 年 6 月 1 日星期三下午 2:11:16,但我使用以下代码:

date_default_timezone_set('Europe/London');
echo date('m/d/y h:i a', time());

给我:06/02/11 02:12 am

为什么它没有返回正确的伦敦时间?

【问题讨论】:

你能展示一些真实的代码以及它的输出吗?还有你在哪个时区?函数调用返回什么,truefalse 服务器上的时间是否正确?我的意思是,服务器本身,而不是 php 服务器时间错误。 【参考方案1】:
date_default_timezone_set("Europe/London");

尝试使用双引号。在godaddy上工作

【讨论】:

这里的引号没有区别,在这种情况下单引号更正确,因为没有插值变量或特殊字符。【参考方案2】:

检查你的ini文件是否设置了时区,

ini_set('date.timezone', 'Europe/London');

试试这个应该可以的。

【讨论】:

thnx 4 回复,但现在显示英国/伦敦时间前 12 小时

以上是关于date_default_timezone_set("Europe/London") 不返回正确的时间的主要内容,如果未能解决你的问题,请参考以下文章

PHP 时区设置date_default_timezone_set(Etc/GMT-8)为啥代表东八区

php代码中怎么定义date_default_timezone_set

php日历

php如何支持实现多线程并发

PHP date()获取系统时间不对

phpPHP 获取当地准确时间