(PHP 5 >= 5.3.0, PHP 7, PHP 8)
DateTimeInterface::getTimestamp -- DateTimeImmutable::getTimestamp -- DateTime::getTimestamp -- date_timestamp_get — 获取 Unix 时间戳
面向对象风格
过程化风格
获取 Unix 时间戳。
此函数没有参数。
返回表示日期的 Unix 时间戳。
如果时间戳无法表示为 int,则会抛出 DateRangeError 异常。在 PHP 8.3.0 之前,会抛出 ValueError 异常。在 PHP 8.0.0 之前,在这种情况下会返回 false
。但是,仍然可以使用 DateTimeInterface::format() 函数和 U
格式以 string 类型检索时间戳。
版本 | 描述 |
---|---|
8.3.0 | 超出范围的异常现在是 DateRangeError。 |
8.0.0 | 这些函数不再在失败时返回 false 。 |
示例 #1 DateTime::getTimestamp() 示例
面向对象风格
<?php
$date = new DateTimeImmutable();
echo $date->getTimestamp();
?>
过程化风格
<?php
$date = date_create();
echo date_timestamp_get($date);
?>
以上示例将输出类似以下内容
1272509157
如果您需要以毫秒或微秒的分辨率检索时间戳,则可以使用 DateTimeInterface::format() 函数。
示例 #2 以毫秒和微秒的分辨率检索时间戳
面向对象风格
<?php
$date = new DateTimeImmutable();
$milli = (int) $date->format('Uv'); // 毫秒级时间戳
$micro = (int) $date->format('Uu'); // 微秒级时间戳
echo $milli, "\n", $micro, "\n";
?>
以上示例将输出类似以下内容
1674057635586 1674057635586918