Dutch PHP Conference 2025 - Call For Papers

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(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 Values exceeding ranges are added to their parent values

<?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

Прогляньте також

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top