datetime — Как преобразовать временную строку «X часов Y минут» в z минут в переполнении стека

Я застрял с преобразованием даты и времени php. Я должен преобразовать динамическую строку времени, например, «d days X hours Y minutes» в общее количество минут. Эта временная строка является динамической и возвращается сторонним API. Это может быть как «X часов Y минут», «Y минут» и т. Д.

Пожалуйста, помогите мне, если у кого-то есть подсказка для этого.

Заранее спасибо.

-3

Решение

Как ответил Джо, здесь небольшой толчок на вашем пути. Обратите внимание на + перед, как мы добавляем. Мы могли бы превратить их обоих в объекты даты и сделать diff (), чтобы получить упомянутый DateInterval.

$apiTimeStamp   = strtotime("+1 weeks 2 days 4 hours 2 seconds");
echo abs($apiTimeStamp - time()) / 60;
1

Другие решения

Вы можете попробовать это:

<?php
$min=0;
$arr = '1 hours 20 minutes';

$a=explode(' ',$arr);
if($a[1] == 'hours')
{
$min = $min+ $a[0]*60;
}
if($a[3] == 'minutes')
{
$min =$min+ $a[2];
}
if($a[1] == 'minutes')
{
$min = $min+ $a[0];
}
echo "'".$min." minutes"."'";
?>
0

<?php
$apistring = "10 Hours 15 Minutes";
preg_match("#([\d]+)[/\s]+(?i)(?=hours)#", $apistring, $hours);
preg_match("#([\d]+)[/\s]+(?i)(?=minutes)#", $apistring, $minutes);
if (is_numeric($hours[1])==true) {
$intHourMinutes = $hours[1]*60;
}
else {
$intHourMinutes = 0;
}
if (is_numeric($minutes[1])==true) {
$intMinutes = $minutes[1];
}
else {
$intMinutes = 0;
}
$totalminutes=$intHourMinutes+$intMinutes;
print_r($totalminutes);
?>
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector