PHP 时间字符串差异


PHP Time String Difference

我需要帮助,让我在PHP编码方面获得全新的体验!

我有两个时间字符串,格式如下:

hh:mm:ss yyyy-mm-dd

在下面找到两个例子:

10:35:56 2013-11-15
11:46:24 2013-11-16

我需要以某种方式获取第二个和第一个简单的之间的差异(使用一些 PHP 函数或代码行),可以重复使用以按需计算数据库中其他行的相同差异......

$start=strtotime("10:35:56 2013-11-15");
$end=strtotime("11:46:24 2013-11-16");
$difference=$end-$start;
echo $difference. " Seconds";

使用 strtotime()

$date1 = strtotime('10:35:56 2013-11-15');
$date2 = strtotime('11:46:24 2013-11-16');
echo $date2 - $date1 . 'seconds';
你可以

strtotime这样做:

$date1 = strtotime("10:35:56 2013-11-15");
$date2 = strtotime("11:46:24 2013-11-16");
$date_diff = $date2 - $date1; // here you got difference in seconds.
echo $date_diff . " seconds";

或者用DateTime对象:

$datetime1 = date_create('10:35:56 2013-11-15');
$datetime2 = date_create('11:46:24 2013-11-16');
$date_diff = date_diff($datetime1, $datetime2);
echo $date_diff ->format('%s seconds');

$date_diff -> format(...)使用此格式列表。

对于确切的区别,请尝试此操作

$datetime1 = new DateTime('10:35:56 2013-11-15');
$datetime2 = new DateTime('11:46:24 2013-11-16');
$interval = $datetime1->diff($datetime2);
echo $interval->m . " Month " .$interval->d ." Days ". $interval->h . " Hours, " . $interval->i." Mintues, ".$interval->s." seconds <br/>";