有4个DateTimes,需要最新

时间:2013-11-19 10:11:44

标签: php datetime

我有4个DateTimes:

$article->getCreated();
$article->getChanged();
$article->getTimestamp();
$article->getImage()->getTimestamp();

我的方法如下:

public function getLatestUpdate(\Article $article) { }

有时我的大脑有一个相当高的延迟,我没​​有快速得到一个好的解决方案。 我可以加入一些if条款,但我希望有更好的方式return 最新的DateTime值

我可以在DateTimes上使用sort()吗?

有一个班轮吗?

4 个答案:

答案 0 :(得分:1)

如果您可以在数组中包含日期,则可以返回max值:

$timestamps = array(
    $article->getCreated(),
    $article->getChanged(),
    $article->getTimestamp(),
    $article->getImage()->getTimestamp()
);

return max($timestamps);

或您的一个班轮:

return max($article->getCreated(), $article->getChanged(), $article->getTimestamp(), $article->getImage()->getTimestamp());

(虽然我认为它对数组更具可读性。)

答案 1 :(得分:1)

您可以使用min()max()

$min = min($article->getCreated(), $article->getChanged(), $article->getTimestamp(), $article->getImage()->getTimestamp());

// or

$max = max($article->getCreated(), $article->getChanged(), $article->getTimestamp(), $article->getImage()->getTimestamp());

答案 2 :(得分:0)

如果时间戳中的所有日期都可以创建数组并获得max值,那么它应该是最后一次更新时间。

答案 3 :(得分:0)

最新的日期时间始终是最大的数字。时间戳越新,它就越大。看看:

strtotime($datetime);

你会看到你的日期时间字符串表示为Unix时间戳。