将DateTime变量转换为分钟

时间:2012-09-09 17:18:17

标签: php date time

有以下变量:

$datetime = '2012-09-09 01:40';

我需要提取小时和分钟,然后将它们转换为分钟。在这个例子中,我需要得到100(1小时40分钟= 60分钟+ 40分钟)。如何使用PHP函数快速完成此操作?

4 个答案:

答案 0 :(得分:3)

不建议使用strtotime()date()功能。使用DateTime类。

$datetime = '2012-09-09 01:40';
$d = new DateTime($datetime);
var_dump( $d->format('G') * 60 + $d->format('i') );

答案 1 :(得分:1)

$string = '2012-09-09 01:40';
$epoch = strtotime($string);
echo date('i', $epoch) + (60 * date('H', $epoch));

输出 100

基本上这里发生的是字符串日期转换为Unix/Epoch time。然后,使用date(),它将分钟数(i)增加到小时数(h)的60倍。

答案 2 :(得分:0)

$datetime = strtotime('2012-09-09 01:40');
$hour = date('H',$datetime);
$min = date('i',$datetime);
echo ($hour*60 + $min);

答案 3 :(得分:0)

您可以像这样使用preg_split

$parts=preg_split("/(\d\d):(\d\d)/",$datetime,-1,PREG_SPLIT_DELIM_CAPTURE);
$mins=($parts[1]*60)+$parts[2];

现在,当$datetime与您的帖子相似时,$ mins = 100