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 с модифицированными данными или false в случае возникновения ошибки.

Список изменений

Версия Описание
8.1.0 Поведение с удвоением существующих часов (во время резервного перехода на летнее время) изменилось. Раньше PHP выбирал второе вхождение (после перехода на летнее время) вместо первого вхождения (до перехода на летнее время).
7.1.0 Добавлен параметр microsecond.

Примеры

Пример #1 Пример использования DateTimeImmutable::setTime()

Объектно-ориентированный стиль

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

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

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

Смотрите также

add a note add a note

User Contributed Notes

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