DateTime::getTimestamp

DateTimeImmutable::getTimestamp

DateTimeInterface::getTimestamp

date_timestamp_get

(PHP 5 >= 5.3.0)

DateTime::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTimeInterface::getTimestamp -- date_timestamp_getВозвращает временную метку Unix

Описание

Объектно-ориентированный стиль

public int DateTime::getTimestamp ( void )
public int DateTimeImmutable::getTimestamp ( void )
public int DateTimeInterface::getTimestamp ( void )

Процедурный стиль

Возвращает временную метку Unix.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает временную метку Unix для указанной даты.

Примеры

Пример #1 Пример использования DateTime::getTimestamp()

Объектно-ориентированный стиль

<?php
$date 
= new DateTime();
echo 
$date->getTimestamp();
?>

Процедурный стиль

<?php
$date 
date_create();
echo 
date_timestamp_get($date);
?>

Результатом выполнения данных примеров будет что-то подобное:

1272509157

Примечания

Альтернативой данному методу в PHP 5.2 является использование модификатора U в качестве параметра к методу DateTime::format().

Смотрите также

  • DateTime::setTimestamp() - Устанавливает дату и время, основываясь на метке времени Unix
  • DateTime::format() - Возвращает дату, отформатированную согласно переданному формату

Коментарии

Автор:
Note that for dates before the unix epoch getTimestamp() will return false, whereas format("U") will return a negative number.

<?php
$date 
= new DateTime("1899-12-31");
// "-2209078800"
echo $date->format("U");
// false
echo $date->getTimestamp();
?>
2010-06-11 05:57:19
http://php5.kiev.ua/manual/ru/datetime.gettimestamp.html
In 32-bit system the unix timestamp will overflow if the date goes beyond year 2038 and this method will return false. In 64-bit systems this function will still work as intended. For more information please see http://en.wikipedia.org/wiki/Year_2038_problem.
2014-03-10 10:11:53
http://php5.kiev.ua/manual/ru/datetime.gettimestamp.html
Note that getTimestamp() does not return the UTC timestamp. It returns the timestamp relative to the set timezone, or the default server timezone. This also applies to dates in timezones with Daylight Savings.

<?php
// 11th March 2016 @ 11:00 UTC has timestamp: 1457694000
$d1 = new DateTime('2016-03-11 11:00:00', new DateTimeZone('Europe/Rome'));
$t1 $d1->getTimestamp();

// 11th April 2016 @ 11:00 UTC has timestamp: 1460372400
$d2 = new DateTime('2016-04-11 11:00:00', new DateTimeZone('Europe/Rome'));
$t2 $d2->getTimestamp();

printf("11 March: %d (diff = %d less)\n"$t11457694000 $t1);
printf("11 April: %d (diff = %d less)"$t21460372400 $t2);

// Prints:
// 1457690400 (diff = 3600)
// 1460365200 (diff = 7200)
2016-04-11 20:38:07
http://php5.kiev.ua/manual/ru/datetime.gettimestamp.html
Автор:
Miguel's comment is wrong - getTimeStamp() always returns a timestamp, this has nothing to do with timezones at all, as you can see below.

What's really happening in Miguel's example, is he is parsing the input dates in different timezones.

There is no such thing as "a timestamp relative to the timezone".

<?php

$d 
= new DateTime('2016-03-11 11:00:00', new DateTimeZone('Europe/Rome'));

var_dump($d->getTimestamp()); // 1457690400

$d->setTimeZone(new DateTimeZone('America/New_York'));

var_dump($d->getTimestamp()); // 1457690400
2016-06-07 22:37:34
http://php5.kiev.ua/manual/ru/datetime.gettimestamp.html

    Поддержать сайт на родительском проекте КГБ