Преобразовать формат даты, которое пользователь вводит


Здравствуйте, у меня есть следующий код для форматирования даты, которые пользователь сообщает и вставляет в мою базу:

$arrayData['data_validade'] = date_format("Y-m-d",strtotime(str_replace('/','-',$this->$arrayData)));

Только, что это date_format, работает только для текущей даты, но я не хочу текущей даты, я хочу, чтобы даты, которые пользователь сообщает через мой datapicker.

какие-Либо предложения?

Author: Guilherme Nascimento, 2015-03-31

3 answers

Таким образом, мне удалось решить:

$arrayData['data_validade'] = implode("-", array_reverse(explode("/", $arrayData['data_validade'])));
 1
Author: Estácio Di Fabio, 2015-03-31 13:38:32

Я Думаю, что лучший способ револьвер ситуациях типа, либо с объектом Datetime. Это всегда хороший обзор, использование новых возможностей PHP.

$data = '17/07/2014';
$data_en = DateTime::createFromFormat('d/m/Y', $data);
print_r($data_en->format('Y-m-d')); //2014-07-17
 0
Author: Wallace Maxters, 2015-09-08 16:19:27

Если вы используете postgres, вы можете отформатировать дату в любое время до insert, отличается от mysql.

До основного запроса этой линии, это будет преобразовать все поля даты - YYYY-MM-DD - DD/MM/YYYY одновременно.

SET DATESTYLE TO SQL, DMY;
INSERT INTO tabela(data) VALUES('31/12/2015');
 0
Author: rray, 2015-09-08 17:50:07