Мне нужно преобразовать строку даты в этот формат: «d/m/Y» строка даты для конвертирования из, не всегда одна и та же, иногда ее 07/02/2014, иногда 13/02/2014, а иногда и 2014-02-07.strtotime return false для определенных дат
Я использую эту команду для преобразования: date("d/m/Y", strtotime($datestring))
я заметил, что иногда я получаю 01.01.1970 из-за ложными что StrToTime возвращается. я сузил его к этому: strtotime("07/02/2014")
возвращает 1409605200, который нормально .... strtotime("13/02/2014")
возвращает ложь !!!!
все сообщения о strtotime здесь, в этом форуме. также это решение не поможет, потому что я не знаю, конкретный формат заранее:
$a = strptime('22-09-2008', '%d-%m-%Y'); $timestamp = mktime(0, 0, 0, $a['tm_mon']+1, $a['tm_mday'], $a['tm_year']+1900);
что здесь проблема ?? Какое решение мне нужно?
Если вы * * даже не знаю, формат времени, как 'strtotime' волшебно должен? Он просто не может правильно угадать каждый раз. – deceze
все еще не отвечает, почему 13/02/2014 терпит неудачу, пока 09-й день не ... – Rodniko
Потому что XX/XX/XXXX интерпретируется как M/D/Y. См. Http://3v4l.org/uYIAu. Это, очевидно, не удастся, если M равно 13. Вы уверены, что 07/02/2014 был * действительно * интерпретирован «хорошо»? – deceze