DateTimeImmutable::setTime

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

DateTimeImmutable::setTime设置时间

描述

public DateTimeImmutable::setTime(
    int $hour,
    int $minute,
    int $second = 0,
    int $microsecond = 0
): DateTimeImmutable

返回一个新的 DateTimeImmutable 对象,其时间设置为给定的时间。

参数

hour

时间的时。

minute

时间的分钟。

second

时间的秒。

microsecond

时间的微秒。

返回值

返回一个新的 DateTimeImmutable 对象,其中包含修改后的数据。

变更日志

版本 描述
8.1.0 对双重存在的小时(在秋季 DST 过渡期间)的行为进行了更改。以前 PHP 会选择第二次出现(在 DST 过渡之后),而不是第一次出现(在 DST 过渡之前)。
7.1.0 添加了 microsecond 参数。

示例

示例 #1 DateTimeImmutable::setTime() 示例

面向对象风格

<?php
$date
= new DateTimeImmutable('2001-01-01');

$newDate = $date->setTime(14, 55);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 55, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

上面的示例将输出类似以下内容

2001-01-01 14:55:00
2001-01-01 14:55:24

示例 #2 超出范围的值将添加到其父值中

<?php
$date
= new DateTimeImmutable('2001-01-01');

$newDate = $date->setTime(14, 55, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 55, 65);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(14, 65, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";

$newDate = $date->setTime(25, 55, 24);
echo
$newDate->format('Y-m-d H:i:s') . "\n";
?>

上面的示例将输出

2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

参见

添加备注

用户贡献笔记

此页面没有用户贡献的笔记。
To Top