Изменить формат даты с 01/01/2000 на 2000/01/01 в php [дубликаты]

0

У меня есть html-форма, которая отправляет дату, я устанавливаю ее в переменную внутри php и выводится в этом формате: 01/01/2000. Изменить Я не могу изменить формат, в котором я получаю дату - это предварительно заданный html файл.

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

Итак $dateOne = $_REQUEST["date_1"]; # Выходы 01.01.2000

Я хотел бы 2000-01-01.

Я много читал здесь о том, как это сделать, но может получить только 1970-01-01, используя date('Ym-d', strtotime($dateOne)); который, я думаю, сбрасывается из-за strtotime?

Очень новое для этого так жаль, если я пропустил что-то очень простое.

  • 0
    Если вы использовали средство выбора даты (например, jquery), вы можете просто изменить формат даты там, и правильный формат будет отправлен. Нет необходимости конвертации. Если вы не используете средство выбора даты, то вы, скорее всего, навредите миру, потому что не можете гарантировать формат. 01/01/2000 mm/dd/yyyy или dd/mm/yyyy ?
  • 0
    Извините, я должен был сказать следующее: я не могу изменить формат, в котором я получаю дату - это предварительно заданный HTML-файл - это курсовая работа, поэтому должен быть гарантированный формат (британский формат), и я добавлю некоторые операторы if, чтобы обеспечить длину
Показать ещё 1 комментарий
Теги:

1 ответ

1

Это мое быстрое решение этой проблемы.

$date = DateTime::createFromFormat('m/d/Y',$_REQUEST["date_1"])->format('Y-m-d');
  • 0
    Это делает работу, ура!
  • 0
    Эй, извините, проверил еще раз, и он изменился с 31.11.1980 на 1982-07-11? Есть идеи?
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню