如何将日期更改为小时

时间:2014-05-16 17:37:10

标签: php mysql date laravel

您好我正在尝试检查数据库中的消息有多长我正在使用laravel4框架而且我有这个:

date( "h", strtotime($message->created_at)) - date('h')

但它只计算我需要将天数和月数更改为小时数,然后计算数据库中的数量。我该怎么办?

2 个答案:

答案 0 :(得分:1)

date()返回一个字符串,你无法对字符串进行数学运算。 date('h')现在返回当前小时,例如:10,因为它是上午10点。如果$message->created_atFeb 3, 1978 10:01:02,则date('h', strtotime($message->created_at))也会返回10

假设$message->created_at位于acceptable format

$diff_in_hours = (time() - strtotime($message->created_at)) / 3600;

答案 1 :(得分:0)

你的问题有点不清楚,但听起来像你正在寻找所谓的人类可读时间戳"。如果您已正确设置数据库表,则create_at和updated_at都应检索为carbon objects,为您提供几种不同的方式来显示日期。实际上,实现预期的效果非常简单:

$message->created_at->diffForHumans()

这应该打印一个可读的时间,就像你在stackoverflow上看到的那样(1小时前,23分钟前等等)。

查看链接以获取有关碳物体的更多信息。