Преобразование строки даты в формат даты [дубликат]


Возможный Дубликат:
Функция PHP для получения формата даты?

Например:

$date = date_parse('2010-09-17 14:00:00');

Получает меня:

year    =>  2010
month   =>  9
day     =>  17
hour    =>  14
minute  =>  0
second  =>  0

, который в соответствии с тем, как PHP интерпретировал строку, соответствует этому формату:

Y-m-d H:i:s

Учитывая любую строку даты, как я могу получить строку формата, как это понимается в date_parse/strtotime?

Author: Community, 2012-12-31

1 answers

Используйте этот способ:

date("Y-m-d H:i:s", strtotime('2010-09-17 14:00:00'));

Угадайте формат даты:

Я видел в ответе в StackOverflow:

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

$variations = array (
    '^([0-9]{4})/[0-9]{2}/[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{4}2$' => 'Y/m/d H:i:s',
    // more here
);

foreach ($dateFromDatabase as $date) {
    foreach ($variations as $regexp => $dateFormat) {
        if (preg_match ('|' . $regexp . '|', $date)) {
            $matches[$dateFromDatabase] = $dateFormat;
            break;
        }
    }
}

// $matches now consists of an array of dates => format
 4
Author: Praveen Kumar Purushothaman, 2017-05-23 11:43:41