0

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

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

hh:mm:ss yyyy-mm-dd

在下面找到两个示例:

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

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

4

4 回答 4

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

使用strtotime()

$date1 = strtotime('10:35:56 2013-11-15');
$date2 = strtotime('11:46:24 2013-11-16');

echo $date2 - $date1 . 'seconds';
于 2013-11-15T09:56:49.623 回答
2

你可以这样做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(...)格式列表。

于 2013-11-15T09:58:48.240 回答
1

对于确切的差异,试试这个

$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/>"; 
于 2013-11-15T10:01:19.157 回答