DateTimeImmutable::setTime

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

DateTimeImmutable::setTimeDéfinit l'horaire

Description

#[\NoDiscard]
public DateTimeImmutable::setTime(
    int $hour,
    int $minute,
    int $second = 0,
    int $microsecond = 0
): DateTimeImmutable

Retourne un nouvel objet DateTimeImmutable avec l'heure définie à l'heure fournie.

Liste de paramètres

hour

Heure de l'horaire.

minute

Minutes de l'horaire.

second

Secondes de l'horaire.

microsecond

Microsecondes de l'horaire.

Valeurs de retour

Retourne un nouvel objet DateTimeImmutable avec les données modifiées.

Historique

Version Description
8.1.0 Le comportement avec les heures doubles existantes (pendant la transition DST) a changé. Auparavant, PHP choisissait la deuxième occurrence (après la transition DST), au lieu de la première occurrence (avant la transition DST).
7.1.0 Le paramètre microsecond a été ajouté.

Exemples

Exemple #1 Exemple de DateTimeImmutable::setTime()

Style orienté objet

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

Résultat de l'exemple ci-dessus est similaire à :

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

Exemple #2 Les valeurs dépassant les intervalles sont ajoutées à leurs valeurs parentes

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

L'exemple ci-dessus va afficher :

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

Voir aussi

add a note

User Contributed Notes

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