两种格式的时差


Time Difference in Two Formats

我有两个时间值,我想取其差值。第一个来自数据库,它看起来像"2014-05-13 10:41:09"。它是"Y-m-d H:i:s"格式。但它是一个Carbon对象。

我有另一个时间,就是现在。我得到date('Y-m-d H:i:s');

我想取这两个时间的差。首先,我想在碳中得到now()。但是我不能。我不知道为什么。所以我试图将我的Carbon对象转换为PHP日期对象。我也不能。

但是我丢弃并死亡了Carbon对象。它看起来像这样:

object(Carbon'Carbon)#225 (3) { ["date"]=> string(19) "2014-05-13 10:41:09" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "Europe/City" }

我想要访问的日期在["date"]部分。

如何求这两个时间的差?

这是这两天的输出:

2014-05-13 10:46:09

2014-05-13 10:46:20

编辑:

下面是

的输出:
var_dump($unit->heartbeat);
die;
object(Carbon'Carbon)#225 (3) { ["date"]=> string(19) "2014-05-13 10:59:09" ["timezone_type"]=> int(3) ["timezone"]=> string(15) "Europe" }

首先,我想在Carbon中得到now()。但是我不能。我不知道为什么。

Carbon手册的实例化部分提供了这些示例:

$carbon = new Carbon();                  // equivalent to Carbon::now()
$now = Carbon::now();

它们是等价的,所以你必须选择一个,而不是同时使用。

你已经有了一个强大的专用数据类型——你应该好好利用它。因此:

date('Y-m-d H:i:s');

…没有真正的目的,只会增加混乱。

关于获取差异,手册中有一整章的差异。一旦使用了适当的类型,它应该非常简单。