strtotime не работает с mm-dd-yyyy - PullRequest
0 голосов
/ 19 декабря 2011

У меня есть скрипт, который подает даты в различных форматах.

Я хочу сохранить эти даты как метки времени, чтобы их можно было легко манипулировать / упорядочивать.

Когда я пытаюсь преобразоватьдата типа mm-dd-yyyy для отметки времени завершается ошибкой.

При запуске сценария он не знает, в какой формат он будет передаваться, и поэтому его нельзя указать.Почти все другие форматы даты, похоже, отлично преобразуются.

Может кто-нибудь посоветовать, как это исправить, или, альтернативно, альтернативным способом преобразования всех форматов даты в упорядоченный, согласованный формат, которым можно манипулировать?

Большое спасибо

1 Ответ

7 голосов
/ 19 декабря 2011

Он видит строки с - в них как дд-мм-гггг и / как мм / дд / гггг.

См. Также этот вопрос и комментарии к документации .

Возможные решения / обходные пути:

  • на php 5.3, используйте date_create_from_format
  • на старом php, а не на windows, используйте strptime
  • если ни один из них не может быть использован, либо замените - на / при необходимости, либо используйте одно из регулярных выражений, которое вы можете найти в связанном вопросе.

Обратите внимание, что в какой-то момент вам нужно знать, с какого формата начинать. Компьютеры не читатели разума. Они не могут и никогда не смогут различить мм-дд-гггг и дд-мм-гггг в диапазонах перекрытия (как мм, так и дд <= 12), если вы не предоставите различие. </p>

...