PHP 8.2.0 Alpha 2 available for testing

DateTimeImmutable::setTimestamp

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

DateTimeImmutable::setTimestampDéfinit la date et l'heure basé sur un horodatage Unix

Description

public DateTimeImmutable::setTimestamp(int $timestamp): DateTimeImmutable

Retourne un nouvel objet DateTimeImmutable avec la date et l'heure basé sur un horodatage Unix.

Liste de paramètres

object

Style procédural uniquement : Un objet DateTime retourné par la fonction date_create(). Cette fonction modifie cet objet.

timestamp

L'horodatage Unix représentant la date. Définir l'horodatage en dehors de l'intervalle d'un entier est possible en utilisant DateTimeImmutable::modify() avec le format @.

Valeurs de retour

Retourne un nouvel objet modifié DateTimeImmutable ou false si une erreur survient.

Exemples

Exemple #1 Exemple de DateTimeImmutable::setTimestamp()

Style orienté objet

<?php
$date 
= new DateTimeImmutable();
echo 
$date->format('U = Y-m-d H:i:s') . "\n";

$newDate $date->setTimestamp(1171502725);
echo 
$newDate->format('U = Y-m-d H:i:s') . "\n";
?>

Les exemples ci-dessus vont afficher quelque chose de similaire à :

1272508903 = 2010-04-28 22:41:43
1171502725 = 2007-02-14 20:25:25

Voir aussi

add a note add a note

User Contributed Notes 2 notes

up
10
ben at hl9 dot net
3 years ago
Note that this is not the right way to initiate a \DateTimeImmutable object with a numeric Unix timestamp. 

<?php
// Wrong, despite the documention *kind of* alluding to it
$obj = \DateTimeImmutable::setTimestamp(time() - 1);

// Also won't work
$obj = new \DateTimeImmutable(time() - 1)

// Correct, works, clean single line
$obj = (new \DateTimeImmutable())->setTimestamp(time() - 1);
?>

... In fact, this is a non-static method and thus should not be called statically.
up
2
Philip
11 months ago
This function will not change the value of the DateTimeImmutable object as the method name might suggest. The object, after all, immutable.

<?php
   $dti
= new DateTimeImmutable();
   echo
$dti->getTimestamp(); // e.g. 123456789
  
$dti->setTimestamp(987654321);
   echo
$dti->getTimestamp(); // 123456789

  
$x = $dti->setTimestamp (987654321);
   echo
$x->getTimestamp(); // 987654321
?>
To Top