PHP 7.0.14 Released

DateTime::getTimestamp

(PHP 5 >= 5.3.0)

DateTime::getTimestampدریافت برچسب زمانی Unix

Description

Oriented object style

public int DateTime::getTimestamp ( void )

Procedural style

int date_timestamp_get ( DateTime $object )

دریافت برچسب زمانی Unix.

Parameters

This function has no parameters.

Return Values

دریافت برچسب زمانی Unix نمایش‌دهنده تاریخ.

Examples

Example #1 مثال DateTime::getTimestamp()

Oriented object style

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

Procedural style

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

The above examples will output something similar to:

1272509157

Notes

استفاده از U به عنوان پارامتر برای DateTime::format() به هنگام استفاده از PHP 5.2 جایگزین مورد استفاده است.

See Also

  • DateTime::setTimestamp() - تنظیم تاریخ و زمان براساس برچسب زمانی Unix
  • DateTime::format() - بازگرداندن تاریخ قالب‌بندی شده متناسب با قالب داده شده
add a note add a note

User Contributed Notes 4 notes

up
32
Justin Heesemann
6 years ago
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();
?>
up
15
heiccih at gmail dot com
2 years ago
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.
up
3
mindplay.dk
6 months ago
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
up
-6
miguelmuscat93 at gmail dot com
7 months ago
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", $t1, 1457694000 - $t1);
printf("11 April: %d (diff = %d less)", $t2, 1460372400 - $t2);

// Prints:
// 1457690400 (diff = 3600)
// 1460365200 (diff = 7200)
To Top