【问题标题】:php timestamp to readable date not working as expectedphp时间戳到可读日期没有按预期工作
【发布时间】:2016-11-07 22:28:20
【问题描述】:

我正在尝试将我的时间戳转换为可读日期(将在 sql 查询中使用)。

我的代码:

$date1 = date("d-m-Y",Input::get('van'));
return Input::get('van')."  ".$date1;

时间戳:

1451602800000 

结果

15-12-1966

当我尝试this application 时,该时间戳的结果是星期四,12 月 31 日

2015 23:00:00 GMT

这是我所期待的。 我做错了什么让我得到错误的日月年?时间戳似乎没问题,代码是公认的答案here

添加:

 date_default_timezone_set('UTC'); 

不会改变任何东西

【问题讨论】:

  • 什么是 Input::get('van')?
  • 它的值(来自获取请求)包含确切的时间戳。它可以是任何拥有该时间戳值的变量。
  • 嗯,你的 1451602800000 时间戳是 47969 年的 6 月 18 日。
  • Brogan 是您在提供的链接中输入时得到的日期吗?我假设这个时间戳以毫秒为单位:格林威治标准时间:星期四,2015 年 12 月 31 日 23:00:00 GMT
  • unix 时间戳以秒为单位。

标签: php mysql


【解决方案1】:

从您的时间戳右侧删除三个零。 Unix 时间戳以秒表示,而不是毫秒。

$date1 = date('d-m-Y', Input::get('van') / 1000);
return Input::get('van') . '  ' . $date1;

有关可与date 函数一起使用的可接受时间戳的示例,请参阅time 函数。

【讨论】:

    【解决方案2】:

    你可能使用 Laravel,所以它集成了这个包:

    https://github.com/briannesbitt/Carbon

    并尝试本教程以加快速度:

    https://scotch.io/tutorials/easier-datetime-in-laravel-and-php-with-carbon

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-11-27
      • 2014-03-12
      • 2012-01-16
      • 2011-01-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多