有以下变量:
$datetime = '2012-09-09 01:40';
我需要提取小时和分钟,然后将它们转换为分钟。在这个例子中,我需要得到 100(1 小时 40 分钟 = 60 分钟 + 40 分钟)。如何使用 PHP 函数快速做到这一点?
不再推荐使用strtotime()
and函数。date()
使用DateTime类。
$datetime = '2012-09-09 01:40';
$d = new DateTime($datetime);
var_dump( $d->format('G') * 60 + $d->format('i') );
$string = '2012-09-09 01:40';
$epoch = strtotime($string);
echo date('i', $epoch) + (60 * date('H', $epoch));
输出100
基本上这里发生的是字符串 date 被转换为Unix/Epoch time。然后,使用date()
它将分钟数 (i) 添加到小时数 (h) 的 60 倍。
$datetime = strtotime('2012-09-09 01:40');
$hour = date('H',$datetime);
$min = date('i',$datetime);
echo ($hour*60 + $min);
你可以preg_split
这样使用:
$parts=preg_split("/(\d\d):(\d\d)/",$datetime,-1,PREG_SPLIT_DELIM_CAPTURE);
$mins=($parts[1]*60)+$parts[2];
现在 $mins=100 when$datetime
就像你的帖子一样