如何在PHP中更改现有时间戳的时区?

Rya*_*yan 6 php time timezone datetime date

日期和时间函数的代码:

function date_and_time($format,$timestamp) {

$date_and_time = date($format,$timestamp);
return $date_and_time;

}
Run Code Online (Sandbox Code Playgroud)

然后显示它的代码:

    <?php

        echo date_and_time("dS F Y", strtotime($profile[last_activity_date_and_time]));

    ?>
Run Code Online (Sandbox Code Playgroud)

$ profile [last_activity_date_and_time]的值是2010-01-18 14:34:04

显示时显示为2010年1月18日 - 02:34 pm

但是,有没有办法改变它显示的时区?

Gor*_*don 18

不确定这是否是您要找的,但请尝试DateTime

date_default_timezone_set('Europe/London');

$datetime = new DateTime();
$datetime->setTimestamp($yourTimestamp);
echo $datetime->getTimezone()->getName();
echo $datetime->format(DATE_ATOM);

$la_time = new DateTimeZone('America/Los_Angeles');
$datetime->setTimezone($la_time);
echo $datetime->getTimezone()->getName();
echo $datetime->format(DATE_ATOM);
Run Code Online (Sandbox Code Playgroud)

  • 其他答案解决了为新日期调整时区的问题,但是您的问题是唯一一个解决现有日期调整时区的问题. (2认同)

Sar*_*raz 0

您可以使用此函数设置默认时区:

date_default_timezone_set('Europe/London');
Run Code Online (Sandbox Code Playgroud)