Реклама

Как перевести произвольные время и дату в метку времени Unix (Epoch) Обновлено 14.09.2015

Иногда для упрощения операций вычисления времени - надо все приводить к общему знаменателю, есть такая метка времени - отображающая колличество секунд с момента рождения Unix, текущую метку можно узнать используя функцию time()

Но иногда надо сделать на сайте обратный отсчет - например - происхождение какого-нибудь важного события - например - нового года - и надо сосчитать колличество оставшихся до него дней, часов и возможно минут.

Но как то так - чтобы юзер задающий эту дату не сношался с вычислением секунд и прочими математическими операциями.

Решаем так - юзер вводит в поля "минуты", "часы", "дни", "месяц" и "год" цифры (все это разные поля) - переводим в метку времени юникс с помощью функции mktime - это делать не очень удобно, так как там нарушен порядок следования данных, пришлось состряпать простую функцию для функции:

function creat_time ($min, $hour, $day, $month, $year) {
        $text=mktime ($hour, $min, date(s), $month, $day, $year );
return $text; }

Где порядок переменных чуть более логичен. Она так же выводит метку времени, далее из текущего момента time вычитаем результат выполнения этой функции и уже его интерпретируем в человеческий вид - date(Y, ...)... этот вариант универсален тем, что не приходится думать о том, сколько в каждом месяце дней, о високосности года и многом другом.

RSS
RSS - Лента новостей
Закладки
Сообщества