我有一个日期存储到一个字符串变量中:Sun Jun 02 08:54:12 EDT 2013
. 如何将其转换为日期变量以比较当前日期和提供的日期之间的时差。谢谢!
问问题
60 次
1 回答
5
使用DateTime
该类将当前日期与时间字符串进行比较。拥有DateTime
对象后,您可以使用该方法轻松获得差异DateTime::diff()
。它将返回一个DateInterval
可以使用它的format()
方法打印的对象。
$dt = new DateTime('Sun Jun 02 08:54:12');
$now = new DateTime();
if($now > $dt) {
$difference = $now->diff($dt);
echo $difference->format('The time is %H hours %I minutes %S seconds in the past');
} else if ($now < $dt) {
$difference = $dt->diff($now);
echo $difference->format('The time is %H hours %I minutes %S seconds in the future');
} else {
echo 'the time is now';
}
注意:当然,您必须以一种额外显示年、月和日差异的方式扩展输出。我在示例中没有这样做,因为我很懒... aehhmm 因为示例中的字符串会变得太长... ;)
于 2013-06-02T23:32:00.903 回答