Менять Формат Даты - PHP

Как могли бы менять формат дату, которую я получаю POST: 24/01/2017 (dd / мм / aaaa) в этот формат 2017/01/24 (aaaa / мм / dd)?

$fecha1= $_POST['fecha1'];

Деталь - что, когда вставленное на MySQL меняет мне формат и это регистрирует как 2024/01/17 будучи стоимостью {24/01/2017}.

2
задан 25.01.2017, 01:06
0 ответов

Ты мог бы использовать что-то как это:

<?php

$fecha1 = "24/01/2017"; // Obviamente se cambia por $_POST['fecha1'];

$fechaNueva = date('Y/m/d', strtotime(str_replace('/', '-', $fecha1)));

echo $fechaNueva . "\n";

?>

То, что мы делаем, состоит в том, чтобы менять slash на схемы, для того, чтобы этот был более легким для того, чтобы быть прочитанным к функции strtotime.

Эта ошибка происходит из-за следующего (Согласно документации PHP) strtotime ():

Заметь: Даты в форматах m/d/y или d-m-y они не являются неясными после того, как наблюдают разделитель между различными компонентами: если разделитель - брусок (/), принимает североамериканский формат m/d/y; в то время как, если разделитель - схема (-) или точка (.), принимает европейский формат d-m-y. Если, однако, год предоставляется в формате двух цифр и разделитель - схема (-, цепь даты анализируется как y-m-d.

Результат:

2017/01/24

4
ответ дан 03.12.2019, 17:31