【问题标题】:How do I get a unix timestamp from PHP date time?如何从 PHP 日期时间获取 unix 时间戳?
【发布时间】:2012-10-09 15:03:16
【问题描述】:

我正在尝试使用 PHP 获取 unix 时间戳,但它似乎不起作用。这是我尝试转换为 unix 时间戳的格式:

PHP

$datetime = '2012-07-25 14:35:08';

$unix_time = date('Ymdhis', strtotime($datetime ));
echo $unix_time;

我的结果如下所示:

20120725023508

知道我做错了什么吗?

【问题讨论】:

    标签: php unix-timestamp


    【解决方案1】:

    strtotime 成功返回 timestamp,否则返回 FALSE。

     echo strtotime('2012-07-25 14:35:08' );
    

    输出

    1343219708
    

    【讨论】:

    • 啊..试图让它变得更难然后它需要。谢谢!
    • @Baba 但是 strtotime 是特定于时区的,不是吗?
    • 小心! strtotime 假定时间字符串在 php 的当前 date_default_timezone_get 指定的时区中。如果不确定,请先调用date_default_timezone_set,并使用与您的日期字符串来源对应的时区名称。
    【解决方案2】:

    这是将其转换为 unix 时间戳:strtotime($datetime),但您又将其转换回日期为 date()

    【讨论】:

      【解决方案3】:

      要使用面向对象的解决方案扩展此处的答案,必须命名 DateTime 类。 DateTime 类从 PHP 5.2 开始可用,可以按如下方式使用。

      $date = DateTime::createFromFormat('Y-m-d H:i:s', '2012-07-25 14:35:08');
      echo $date->getTimestamp(); // output: 1343219708
      

      或者甚至是单线

      echo $date = (new DateTime('2012-07-25 14:35:08'))->getTimestamp();
      // output: 1343219708
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-22
        • 2013-06-03
        • 2011-01-29
        • 2013-05-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多