DateTime
在线手册:中文 英文
PHP手册

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0)

DateTime::setTimestamp -- date_timestamp_setSets the date and time based on an Unix timestamp

说明

面向对象风格

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

过程化风格

DateTime date_timestamp_set ( DateTime $object , int $unixtimestamp )

Sets the date and time based on an Unix timestamp.

参数

object

仅过程化风格:由 date_create() 返回的 DateTime 类型的对象。此函数会修改这个对象。

unixtimestamp

Unix timestamp representing the date.

返回值

返回被修改的 DateTime 对象, 或者在失败时返回 FALSE.

范例

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($date1171502725);
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
在线手册:中文 英文
PHP手册
PHP手册 - N: Sets the date and time based on an Unix timestamp

用户评论:

linblow at hotmail dot fr (04-Apr-2011 08:40)

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' );

?>

Use Web Form at Aouie.net (10-Sep-2010 06: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