(PHP 5 >= 5.3.0)
DateTime::setTimestamp — Sets the date and time based on an Unix timestamp
Objektorientierter Stil
Prozeduraler Stil
Sets the date and time based on an Unix timestamp.
Nur bei prozeduralem Aufruf: Ein von date_create() zurückgegebenes DateTime-Objekt. Diese Funktion verändert dieses Objekt.
Unix timestamp representing the date.
Returns the DateTime object for method chainingIm Fehlerfall wird FALSE zurückgegeben..
Beispiel #1 DateTime::setTimestamp() example
Objektorientierter Stil
<?php
$date = new DateTime();
echo $date->format('U = Y-m-d H:i:s') . "\n";
$date->setTimestamp(1171502725);
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>
Prozeduraler Stil
<?php
$date = date_create();
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
date_timestamp_set($date, 1171502725);
echo date_format($date, 'U = Y-m-d H:i:s') . "\n";
?>
The above examples will output something similar to:
1272508903 = 2010-04-28 22:41:43 1171502725 = 2007-02-14 20:25:25
Using the Unix timestamp format to construct a new DateTime object is an alternative when using PHP 5.2, as shown in the example below.
Beispiel #2 DateTime::setTimestamp() alternative in PHP 5.2
<?php
$ts = 1171502725;
$date = new DateTime("@$ts");
echo $date->format('U = Y-m-d H:i:s') . "\n";
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
1171502725 = 2007-02-14 20:25:25
When the exact time is important then it is important to note the difference between this and the UnixTimeStamp. The function will change the timestamp if necessary to take into account the daylight savings time.
e.g. Working with the 'Europe/London' timezone and setting the DateTime object to a timestamp of 1288486753 will result in the function automatically altering it to 1288490353.
This is because it is taking the fall time instead of the summer time (they will both be Sun, 31-Oct-2010 01:X:Y (I didn't check the hour and minute)).
Sincerely,
Aouie