downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

DateTime::setTimezone> <DateTime::setTime
[edit] Last updated: Fri, 25 May 2012

view this page in

DateTime::setTimestamp

date_timestamp_set

(PHP 5 >= 5.3.0)

DateTime::setTimestamp -- date_timestamp_setUnix タイムスタンプを用いて日付と時刻を設定する

説明

オブジェクト指向型

public DateTime DateTime::setTimestamp ( int $unixtimestamp )

手続き型

DateTime date_timestamp_set ( DateTime $object , int $unixtimestamp )

Unix タイムスタンプを用いて日付と時刻を設定します。

パラメータ

object

手続き型のみ: date_create() が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。

unixtimestamp

Unix タイムスタンプ。

返り値

メソッドチェインに使う DateTime オブジェクトを返します。失敗した場合に FALSE を返します。

例1 DateTime::setTimestamp() の例

オブジェクト指向型

<?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

注意

PHP 5.2 を使っている場合は、 Unix タイムスタンプ形式を使って新しい DateTime オブジェクトを作る方法もあります。 以下の例を参照ください。

例2 PHP 5.2 における DateTime::setTimestamp() のもうひとつの方法

<?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

参考



add a note add a note User Contributed Notes DateTime::setTimestamp
linblow at hotmail dot fr 04-Apr-2011 06: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 04: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

 
show source | credits | stats | sitemap | contact | advertising | mirror sites