Как конвертировать MM/DD/YYYY в YYYY-MM-DD?

У меня есть календарь jquery, который устанавливает входное значение в MM/DD/YYYY

Как мне преобразовать его так, чтобы мой столбец базы данных (дата) мог принять его правильно?

ИЗМЕНИТЬ

Гордон был прав - его ссылка указала мне на этот ответ

$mysql_date = date('Y-m-d H:i:s', strtotime($user_date));

Ответы

Ответ 1

$date = "07/12/2010";
$your_date = date("Y-m-d", strtotime($date));

Надеюсь, мой ответ полезен:)

Ответ 2

Вы хотите сделать это на PHP, правильно?

  • Использование Explode

    $christmas = "12/25/2010";
    $parts = explode('/',$christmas);
    $yyyy_mm_dd = $parts[2] . '-' . $parts[0] . '-' . $parts[1]
    
  • Используйте strptime, чтобы разделить его на метку времени, а затем strftime, чтобы отформатировать его так, как вы хотите.

Ответ 3

Нам нужна дополнительная информация

1) Что script вставляет в базу данных? Я предполагаю PHP

2) Также нам нужно знать, как вы храните дату и в каком формате?

Мое решение:

$dates = preg_split('/\//',$_POST['date']);

$month = $dates[0];
$day = $dates[1];
$year = $dates[2];

$finalDate = $year.'-'.$month.'-'.$day;

Ответ 4

Попробуйте использовать следующий код,

<?php
$date = "10/24/2014";
$date = DateTime::createFromFormat("m/d/Y" , $date);
echo $date->format('Y-m-d');
?>

Ответ 5

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

$unix_time_stamp = strtotime($mm_dd_yyyy);
$yyyy_mm_dd = date(Y/m/d,$unix_timestamp);

Ответ 6

В качестве альтернативы вы можете сделать это, не используя explode:

$date = "12/25/2010";
$mysql_date = date('Y-m-d', strtotime($date));

Теперь вы можете использовать $mysql_date для вставки в вашу базу данных.

Ответ 7

Попробуйте следующее:

$date = explode('/', '16/06/2015');

$new  = date('Y-m-d H:i:s', strtotime(implode('-', array_reverse($date))));

Возврат: 2015-06-15 00:00:00

Надеюсь, это поможет!

Ответ 8

если вы просто хотите, чтобы одна строка попыталась это сделать:

$time = "07/12/2010";

$new_time = preg_replace("!([01][0-9])/([0-9]{2})/([0-9]{4})!", "$3-$1-$2", $time);

var_dump($time);
var_dump($new_time);

Ответ 9

присвойте значения даты переменной $d

$dob обозначает дату, которую вы хотите преобразовать

$d= date('Y-m-d',strtotime ($dob) );

Ответ 10

Попробуйте использовать следующий код:

$date = "01-14-2010";
echo $your_date = date("Y-m-d", strtotime($date));

Будет отображаться 1969-12-31.