Как максимально просто распарсить время в unix_timestamp выходящее за рамки 24 часов на PHP?

Время может быть и 12h и 48h и 123h причем написано оно может и с минутами и с секундами, например: 72h 38m
Такой формат функция strtotime не принимает, просто пустоту выдает. Может есть какой-то стандартный способ парсить время в unix_timestamp?
  • Вопрос задан
  • 3091 просмотр
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
$time = '123h 5 m 07s';
if (preg_match('~(\d+)\s*h~', $time, $match)
    $hours = $match[1];
if (preg_match('~(\d+)\s*m~', $time, $match)
    $minutes = $match[1];
if (preg_match('~(\d+)\s*s~', $time, $match)
    $seconds = $match[1];

Только для unix_timestamp ещё дата нужна и часовой пояс, это количество секунд с 1970-01-01 00:00:00 UTC.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
Если ты решаешь свою проблему с помощью регулярных выражений - значит у тебя 2 проблемы.
Ответ написан
kirillplatonov
@kirillplatonov
Ruby on Rails developer
Распарсите ваши данные с помощью регулярок на секунды, минуты, и часы по s/m/h соответственно. После этого собирайте timestamp с помощью mktime.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы