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' );
?>
DateTime::setTimestamp
date_timestamp_set
(PHP 5 >= 5.3.0)
DateTime::setTimestamp -- date_timestamp_set — Sets the date and time based on an Unix timestamp
설명
객체 기반 형식
절차식 형식
Sets the date and time based on an Unix timestamp.
인수
- object
-
Procedural style only: A DateTime object returned by date_create(). The function modifies this object.
- unixtimestamp
-
Unix timestamp representing the date.
반환값
Returns the DateTime object for method chaining or FALSE on failure.
예제
Example #1 DateTime::setTimestamp() example
객체 기반 형식
<?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";
?>
절차식 형식
<?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";
?>
위 예제들의 출력 예시:
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.
Example #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";
?>
위 예제의 출력 예시:
1171502725 = 2007-02-14 20:25:25
참고
- DateTime::getTimestamp() - Gets the Unix timestamp
linblow at hotmail dot fr
04-Apr-2011 12:40
Use Web Form at Aouie.net
10-Sep-2010 10:15
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
