哈希空间 Ctrl + F 进行搜索
首页 php手册中文版 CSS中文手册 哈希文档 Markdown在线工具

DateTimeImmutable::setTime

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

DateTimeImmutable::setTimeSets the time

说明

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

Returns a new DateTimeImmutable object with the time set to the given time.

参数

hour

Hour of the time.

minute

Minute of the time.

second

Second of the time.

microsecond

Microsecond of the time.

返回值

返回带有修改数据的新 DateTimeImmutable 对象。

更新日志

版本 说明
8.1.0 The behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
7.1.0 The microsecond parameter was added.

范例

示例 #1 DateTimeImmutable::setTime() example

面向对象风格

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

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

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

以上例程的输出类似于:

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

示例 #2 Values exceeding ranges are added to their parent values

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

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

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

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

$newDate $date->setTime(255524);
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

参见

打开 哈希空间 微信小程序中查看更佳