php – Как конвертировать 1 день в секунду

Я создаю форму для установки интервала публикации и хочу суммировать все представленные значения в секундах. Форма состоит из полей для определения секунд, минут, часов, дня и т. Д.

Я собираю представленные значения в строку, указывая атрибуты даты, такие как секунда, минута и т. Д.

Например:

$ second second

$ минутная минута

$ час час

Поэтому, если пользователь вводит 1 в поле ввода для определения интервала в day и 30 minute , тогда мой код преобразует его в строку 1 day и 30 minute .

Мои вопросы:

1- Как я могу конвертировать 1 day и 30 minute строку в секунды, чтобы их можно было суммировать в правильные секунды.

Я попытался использовать strtotime() но он возвращает очень большое количество секунд и date() но возвращает слишком малое число.

2- Есть ли простая функция, такая как strtotime() и date() которая может правильно преобразовывать строку во второе преобразование?

Related of "php – Как конвертировать 1 день в секунду"

Вы можете использовать strtotime() со вторым параметром, например:

 strtotime('1 day 30 second', 0); 

Это даст вам 86430 , то есть количество секунд в 1 день и 30 секунд.

(Если второй параметр опущен, текущая временная метка (т.е. time() ) используется для добавления того, что указано в строке, что приводит к большому числу.)

Попробуйте следующий код:

 $day = 1; $hour = 1; $minute = 1; $second = 0; $second += (($day * 24 + $hour) * 60 + $minute) * 60;