0

有以下变量:

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

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

4

4 回答 4

3

不再推荐使用strtotime()and函数。date()使用DateTime类。

$datetime = '2012-09-09 01:40';
$d = new DateTime($datetime);
var_dump( $d->format('G') * 60 + $d->format('i') );
于 2012-09-09T17:25:18.477 回答
1
$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 倍。

于 2012-09-09T17:21:17.140 回答
0
$datetime = strtotime('2012-09-09 01:40');
$hour = date('H',$datetime);
$min = date('i',$datetime);
echo ($hour*60 + $min);
于 2012-09-09T17:21:43.307 回答
0

你可以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就像你的帖子一样

于 2012-09-09T17:42:11.067 回答