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
DateTime::setTimestamp
(PHP 5 >= 5.3.0)
DateTime::setTimestamp — تنظیم تاریخ و زمان براساس برچسب زمانی Unix
Description
Oriented object style
Procedural style
تنظیم تاریخ و زمان براساس برچسب زمانی Unix.
Parameters
- object
-
Procedural style only: A DateTime object returned by date_create(). The function modifies this object.
- unixtimestamp
-
برچسب زمانی Unix نمایشدهنده تاریخ.
Return Values
Returns the DateTime object for method chaining or FALSE on failure.
Examples
Example #1 مثال DateTime::setTimestamp()
Oriented object style
<?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";
?>
Procedural style
<?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
Notes
ارسال برچسب زمانی Unix به DateTime::__construct() هنگام استفاده از PHP 5.2 به طور جایگزین استفاده میشود.
See Also
- DateTime::getTimestamp() - دریافت برچسب زمانی Unix
Use Web Form at Aouie.net ¶
2 years ago
linblow at hotmail dot fr ¶
2 years ago
If your PHP version is lower than 5.3 then you can use this class to be able to use the functions "setTimestamp" and "getTimestamp":
<?php
class MyDateTime extends DateTime
{
public function setTimestamp( $timestamp )
{
$date = getdate( ( int ) $timestamp );
$this->setDate( $date['year'] , $date['mon'] , $date['mday'] );
$this->setTime( $date['hours'] , $date['minutes'] , $date['seconds'] );
}
public function getTimestamp()
{
return $this->format( 'U' );
}
}
$date = new MyDateTime();
$date->setTimestamp( $someTimestamp );
echo $date->format( 'd/m/Y H:i:s' );
?>
