PHP: <?php $time = '2009.02.13'; echo strftime ('%d.%m.%Y', strtotime ($time)); // ожидаю 02.13.2009, получаю 01.01.1970 $time = '1997.02.13'; echo strftime ('%d.%m.%Y', strtotime ($time)); // ожидаю 02.13.1997, получаю 14.01.1997
antonn С этим понятно. Интересует почему первую дату он приводит к false, а со второй всё-таки что-то делает.
Буквально только что решал задачу перевода "M j Y h:i:s:uA" в "d.m.Y H:i:s". Думал использовать: date_create_from_format и date_format, но date_create_from_format только для PHP 5 >= 5.3.0. В итоге решаю методами js.
даамс. интересно оно работает PHP: <?php $time = '1997.23.59'; // 14.01.1997 $time = '1997.23.60'; // 01.01.1970 $time = '1997.24.00'; // 15.01.1997 $time = '1997.24.59'; // 15.01.1997 echo strftime ('%d.%m.%Y', strtotime ($time)); считает вторую цифру — часами?
Блин, ну и развели вы тут. 440Hz правильно в какой-то теме сегодня писал - "главное кода наваять побольше, а разбираться потом будем" жесть.
Да. '.' пришел из Германии и не считается разделителем даты в US English (если я правильно помню, то там только "/", т.е. даже "-" не считается ) Приводить рекомендую к такому виду http://www.cl.cam.ac.uk/~mgk25/iso-time.html YYYY-MM-DD как наиболее стабильный и удобный для работы (например, для сортировки) P.S. Если есть желание можешь углубиться в http://en.wikipedia.org/wiki/Calendar_date и http://en.wikipedia.org/wiki/ISO_8601
Simpliest Я сам дату в БД храню в виде timestamp - мне так с ней проще работать. Но дело не в этом. Либо ты меня не понимаешь, либо я тебя не понимаю. Посмотри код ниже: PHP: <?php setlocale (LC_ALL, 'ru_RU.UTF8'); $time = '2009.02.13'; var_dump (strtotime ($time)); $time = '1997.02.13'; var_dump (strtotime ($time)); Результат: bool(false) int(853197180) Почему разный результат? По идее ведь оба должны быть false. Про форматы и всё остальное я понял. antonn Думаю это не так уж и плохо
Идею спроси у авторов функции. Она пытается распарсить текст, то, что ей удается - он выдает. Если ничего не получилось она дает false.
флоппик, я в курсе. Сам в свое время подолбился с этой функцией. Но смысла в "достать хоть что-то" вижу мало - оно потом неприменимое для автоматического использования получается.