只是一个简单的问题,我如何能够将以下日期/时间变量编辑为 PLUS(+) 小时数 5,此时它是美国时间,我需要将所有内容转换为英国时间。
$tme = date('H:i : d F Y');
有任何想法吗...?
使用DateTime
对象,它更健壮,并且会给您带来更少的麻烦:
$time = new DateTime("now", new DateTimeZone("America/New_York"));
$time->setTimezone(new DateTimeZone("Europe/London"));
echo $time->format("H:i:s Y-m-d");
另请注意,有了这个,您可以处理与时区相关的奇怪问题(例如某些时区在不同日期发生变化,有些时区取决于年份等),而无需进行任何类型的计算,DateTimeZone 对象会为您完成 :-)
将此添加到页面顶部:
date_default_timezone_set('Europe/London');
使用 date_default_timezone_set 函数
date_default_timezone_set('Europe/London');
$tme = date('H:i : d F Y', time() + 60*5);
但您可能对DateTime 对象感兴趣
或使用更改时区
date_default_timezone_set('Europe/London');
使用DateTime
andDateTimeZone
代替:
// U.S. timezone (EST)
$tme = new DateTime('now', new DateTimeZone('America/New_York'));
echo $tme->format('H:i : d F Y');
// U.K. timezone
$tme->setTimeZone(new DateTimeZone('Europe/London'));
echo $tme->format('H:i : d F Y');