Преобразование секунд в период времени (PHP) - PullRequest
1 голос
/ 07 сентября 2010

Мне сообщили об ошибке, из-за которой пользователь выбирает рамку даты из раскрывающегося списка, hours, days, months и вводит номер свободного текста.

При сохранении он преобразуется в число секунд.

Мне нужно отобразить это поле, так как в данный момент оно не отображается.Как я могу понять, как превратить его в то же значение, которое они ввели?Мы не храним значение раскрывающегося списка по какой-то странной причине.

Есть ли способ просто преобразовать его в максимальное количество временных блоков, доступных для этого количества секунд, или я просто сохраню раскрывающееся полеЭто то, что я, вероятно, собираюсь сделать.

Ответы [ 2 ]

2 голосов
/ 07 сентября 2010

Преобразование не вариант, так как вы ничего не знаете о том, что имел в виду пользователь.Например, когда я ввожу число «3», вы не можете определить, имел ли я в виду 3 дня или 3 месяца.

Позвольте мне уточнить: если я введу «3» и выберу «дни»время в секундах: 60 * 60 * 24 * 3 = 259200 секунд.При отображении вы можете разделить его на 3 дня.Но что, если я введу «72» и выберу «часы»?Вы не можете сказать.

Просто сохраните выбор пользователей, и все в порядке.

0 голосов
/ 07 сентября 2010

Если вы хотите разбить его на зависимые куски, например, дни / месяцы, достаточно простых математических операций внутри блока.

if($seconds > 2629743){
    // code for month 
}
elseif ($seconds > 86400) {
        // code for days
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...