У меня возникла проблема с преобразованием форматированной строки даты в целую метку времени. Я использую datepicker для ввода поля, такого как DD/MM/YY
и я использую strtotime
для его изменения.
Пример использования
$date_from = (!empty($_POST['datefrom'])) ? (string) $db->sql_escape($_POST['datefrom']) : false; $date_to = (!empty($_POST['dateto'])) ? (string) $db->sql_escape($_POST['dateto']) : false; $time_from = (!empty($_POST['timefrom'])) ? (string) $db->sql_escape($_POST['timefrom']) : ''; $time_to = (!empty($_POST['timeto'])) ? (string) $db->sql_escape($_POST['timeto']) : '';
Сплин
var_dump($_POST); var_dump($date_from . ' ' . $time_from); var_dump($date_to . ' ' . $time_to);
Выходы
array(4) { ["datefrom"]=> string(10) "23/03/2011" ["dateto"]=> string(10) "18/04/2011" ["timefrom"]=> string(5) "01:26" ["timeto"]=> string(5) "04:44" } string(16) "23/03/2011 01:26" string(16) "18/04/2011 04:44"
Теперь вы можете видеть, что каждая переменная не пуста, теперь ничего не возвращается (кроме false
) при использовании strtotime
с этим:
$range_from = strtotime($date_from . ' ' . $time_from); $range_to = strtotime($date_to . ' ' . $time_to); var_dump($range_from); var_dump($range_to);
Выходы
bool(false) bool(false)
Теперь вот где я застрял, думая, почему он не превращает DD/MM/YY HH:MM
в метку времени, я вряд ли могу найти, что с ним не так …