我正在尝试转换某些日期
<p>{{ Carbon\Carbon::parse($post->created_at)->diffForHumans() }}</p>
这样可行,因为日期的格式为 2017-05-01 10:52:51
但是我也将日期存储为unix时间戳。
我如何将这些转换为约会?
我已经尝试了
{{ Carbon\Carbon::createFromTimestamp($post->created_at)->toDateTimeString() }}
错误 - 遇到格式错误的数值
转储是
<pre class="xdebug-var-dump" dir="ltr">
<small>int</small>
<font color="#4e9a06">1493637826</font>
</pre>
答案 0 :(得分:1)
您第一次尝试使用createFromTimestamp()
是正确的,因此您的输入内容一定有问题。这是一个工作示例:
>>> \Carbon\Carbon::createFromTimestamp(1493637826)->toDateTimeString();
=> "2017-05-01 11:23:46"
遇到错误提示您传递的是DateTime字符串,而不是unix时间戳:
>>> \Carbon\Carbon::createFromTimestamp('2017-05-01 11:23:46')->toDateTimeString();
PHP Notice: A non well formed numeric value encountered
答案 1 :(得分:0)
最后我不得不使用gmdate来转换时间戳。
{{ Carbon\Carbon::parse(gmdate("Y-m-d\TH:i:s", $post->date_posted))->diffForHumans() }}
这很奇怪,因为它应该像Robbie Averill建议的那样工作。