我有4个DateTimes:
$article->getCreated();
$article->getChanged();
$article->getTimestamp();
$article->getImage()->getTimestamp();
我的方法如下:
public function getLatestUpdate(\Article $article) { }
有时我的大脑有一个相当高的延迟,我没有快速得到一个好的解决方案。
我可以加入一些if
条款,但我希望有更好的方式return
最新的DateTime值。
我可以在DateTimes上使用sort()
吗?
有一个班轮吗?
答案 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 = 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时间戳。