【问题标题】:How to get a unix timestamp from DateTime object with PHP 5.2?如何使用 PHP 5.2 从 DateTime 对象获取 unix 时间戳?
【发布时间】:2013-02-20 02:25:30
【问题描述】:

我正在开发几年前的代码库,它使用 DateTime。服务器正在使用 PHP 5.2

我看到 DateTime::getTimestamp() 是在 PHP 5.3 之后添加的。

是否可以从 PHP 5.2 中的 DateTime 获取时间戳?

我使用 get_class_methods 来查看该方法是否可用,但它不可用。

Array
(
    [0] => __construct
    [1] => format
    [2] => modify
    [3] => getTimezone
    [4] => setTimezone
    [5] => getOffset
    [6] => setTime
    [7] => setDate
    [8] => setISODate
)

【问题讨论】:

标签: php date datetime


【解决方案1】:
$datetime = new DateTime();
echo $datetime->format('U');

See it in action

编辑

从 PHP 5.4 开始,您可以将其设为单行:

echo (new DateTime())->format('U');

【讨论】:

  • 我讨厌它,因为一行代码是不可能的。像这样(new DateTime())->format('U'),grrr ...
  • @algorhythm 你可以在 PHP 5.4+ 中做到这一点
【解决方案2】:

使用 U 作为 DateTime::format() 的参数是一种替代方法 使用 PHP 5.2。

$ts = $datetimeObj->format('U');

【讨论】:

    【解决方案3】:

    如果你想看看manual

    使用 U 作为 DateTime::format() 的参数是一种替代方法 使用 PHP 5.2。

    所以DateTime::format('U') 是。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-16
      • 2017-03-26
      • 2012-08-05
      • 1970-01-01
      相关资源
      最近更新 更多