форматирование даты с или без начального нуля в php - PullRequest
1 голос
/ 10 февраля 2010

Как бы вы преобразовали строку даты, которая будет отформатирована как ...

m/d/yyyy H:i:s или mm/dd/yyyy H:i:s ...

и отформатируйте его как ... yyyy-mm-dd H:i:s

Я могу отформатировать любой из двух входов в желаемый формат, но не оба одновременно.

Ответы [ 3 ]

3 голосов
/ 10 февраля 2010
function format_date($date){
  return date('Y-m-d H:i:s',strtotime($date));
  }

должен добиться цели.

1 голос
/ 10 февраля 2010

Как вы форматируете его сейчас? Если вы уверены, что это только два формата даты, которые вы, возможно, будете использовать в качестве входных данных, вы можете explode() указать их на прямой косой черте, а затем, если strlen() вернет 1 в месяце или дате, добавьте 0 когда вы создаете yyyy-mm-dd строку.

Однако, если вы не уверены, что это только два ваших формата ввода, я бы использовал strtotime() для преобразования его в эпоху, а затем date() для форматирования по вашему желанию. Немного больший хит обработки, но гораздо более универсальный код.

1 голос
/ 10 февраля 2010

Самым простым способом было бы просто преобразовать его во время Unix сначала с помощью strtotime, а затем запустить strftime для него впоследствии - не лучшая практика, но это устраняет много потенциальных проблем с синтаксическим анализом формата: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...