当前位置:  开发笔记 > 编程语言 > 正文

Laravel 5时差

如何解决《Laravel5时差》经验,为你挑选了1个好方法。

我有一个应用程序,它及时登录记录和退出记录的时间.

我的表有IN_TIME和OUT_TIME

这些列中的数据示例:

IN_TIME = 16:06:46

OUT_TIME = 16:08:07

我有一个控制器,我的刀片模板文件显示给定人员的所有信息,我想要做的是显示两者之间的时差.

请参阅下面我当前显示0的当前代码

**Time onsite:** {{ date('G:i', strtotime($attrec->out_time)) - date('G:i', strtotime($attrec->in_time)) }}

我有没有理由不能得到正确的数字?



1> Bogdan..:

您正在将时间戳转换为格式化字符串并尝试计算字符串之间的差异.相反,您应该计算每个结果datetotime(返回基本上是秒的UNIX时间戳)之间的差异,然后格式化该结果:

{{ date('G:i', strtotime($attrec->out_time) - strtotime($attrec->in_time)) }}

您还可以Carbon通过执行以下操作来使用:

{{ (new Carbon($attrec->out_time))->diff(new Carbon($attrec->in_time))->format('%h:%I') }}

这使用diff继承自的方法DateTime,该方法返回一个DateInterval实例.格式字符DateInterval::format与使用的格式字符不同date.这就是格式化字符串的原因%h:%I,相当于G:i.

上面的代码将输出:

0:01

因为您选择格式化小时而没有前导零,并且两个时间戳之间的差异是一分钟(以及一些未显示的备用秒,因为它们未包含在格式化字符串中).

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有