Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Сделать timestamp из даты

1.8K
29 сентября 2007 года
Валериус
190 / / 14.07.2006
Нужно из дато-времени формата 01/09/07 05:02 сделать timestamp. Первое, что приходит в голову - заменить / и : на пробелы, разбить explod'ом и в нужном порядке передать в mktime(). Существует ли более оптимальное решение?
8
29 сентября 2007 года
mfender
3.5K / / 15.06.2005
 
Код:
preg_match_all("/(\d{1,2})\/(\d{1,2})\/(\d{1,2})\x20(\d{1,2}):(\d{1,2})/", $str, $arr, PREG_SET_ORDER);
$result = mktime((int)$arr[0][4], (int)$arr[0][5], 0, (int)$arr[0][2], (int)$arr[0][1], (int)$arr[0][3]);
12
30 сентября 2007 года
alekciy
3.0K / / 13.12.2005
Цитата: Валериус
Существует ли более оптимальное решение?


 
Код:
<?php
$date = '01/09/07 05:02';
$obj_TmeDate = new DateTime($date);
echo $obj_TmeDate->format('Y-m-d H:i:s');
?>

Имхо, более красивое решение. Более понятно, чем регулярки. В общем одни плюсы, из минусов можно только упомянуть, то, что работает это в PHP >= 5.1.0RC1. Но опять же это больше к вопросу о том, что следует регулярно обновлять серверное ПО. Можно конечно на это забить и сидеть сиднем на 4-ой ветке и делать двойную работу. Писать классы и функции которые давное уже реализованы в 5-ой ветке нативно.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог