将DateTime变量转换为分钟


Transform DateTime variable into minutes

有以下变量:

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

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

不再推荐使用strtotime()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

基本上,这里发生的是字符串日期转换为Unix/Epoch时间。然后,使用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,当$datetime在你的文章中类似时