Изменить строку на MySQL совместимую дату - PullRequest
0 голосов
/ 06 февраля 2019

Я получаю строку в этом формате dd/mm/yyyy (например: «06/02/2019», что означает 6-е февраля 2019 г.).Как я могу изменить это на гггг-мм-дд и сохранить его в MySQL DB с помощью PHP.Я попробовал приведенный ниже сценарий, но проблема заключается в его сохранении, например «2019-06-02», что означает 2-е июня 2019 года в MYSQL DB.Может кто-нибудь, пожалуйста, предложите мне, что я делаю неправильно.

$startdate=$_POST["startdate"];

$timestamp = strtotime($startdate);
    if ($timestamp === FALSE) {
         $timestamp = strtotime(str_replace('/', '-', $startdate));
     }
         $startdate = date('Y-m-d', $timestamp);

         echo $startdate;

Ответы [ 2 ]

0 голосов
/ 06 февраля 2019

Пожалуйста, посмотрите на это

$startdate='06/02/2019 - 6th FEB 2019'; // 06/02/2019 - 6th FEB 2019
$d1 = substr($startdate,0,10);
$t = DateTime::createFromFormat('d/m/Y',$d1);
var_dump($t->format('Y-m-d'));
0 голосов
/ 06 февраля 2019

Поскольку вы уже используете strtotime, поэтому не нужно использовать substr Вы можете изменить свой код и получить желаемый вывод

$timestamp = substr($_POST["startdate"],0,10)
$timestamp = strtotime($timestamp);
$startdate = date("Y-m-d H:i:s", $timestamp);
echo $startdate;

Mysql использовать формат даты 'ГГГГ-ММ-ДД ЧЧ: MM: SS ', поэтому с помощью функции даты вы можете просто добиться своего результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...