PHP Conference Japan 2024

DateTime::setTimezone

date_timezone_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTimezone -- date_timezone_set设置 DateTime 对象的时间区域

描述

面向对象风格

public DateTime::setTimezone(DateTimeZone $timezone): DateTime

过程化风格

DateTime 对象 设置一个新的时区。

类似于 DateTimeImmutable::setTimezone(),但适用于 DateTime

过程化版本将 DateTime 对象作为其第一个参数。

参数

object

仅过程化风格:由 date_create() 返回的 DateTime 对象。该函数修改此对象。

timezone

一个 DateTimeZone 对象,表示所需的时间区域。

返回值

返回 DateTime 对象以进行方法链式调用。调用此方法时,底层时间点不会更改。

示例

示例 #1 DateTime::setTimeZone() 示例

面向对象风格

<?php
$date
= new DateTime('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo
$date->format('Y-m-d H:i:sP') . "\n";

$date->setTimezone(new DateTimeZone('Pacific/Chatham'));
echo
$date->format('Y-m-d H:i:sP') . "\n";
?>

过程化风格

<?php
$date
= date_create('2000-01-01', timezone_open('Pacific/Nauru'));
echo
date_format($date, 'Y-m-d H:i:sP') . "\n";

date_timezone_set($date, timezone_open('Pacific/Chatham'));
echo
date_format($date, 'Y-m-d H:i:sP') . "\n";
?>

以上示例将输出

2000-01-01 00:00:00+12:00
2000-01-01 01:45:00+13:45

参见

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top