-4

I have a php variable which represents date (is from a date picker) and is in this format "DD.MM.YYYY" example today "03.03.2021". I see mysql date supported format is "YYYY-MM-DD". If i just try to insert my variable in mysql I get "0000-00-00". How can I convert my variable to mysql format to be able to insert it in the table? Thank you

2
  • 1
    See DateTime::createFromFormat() and DateTime::format() in the PHP DateTime reference Commented Mar 3, 2021 at 9:37
  • 1
    You should read some more PHP document Commented Mar 3, 2021 at 9:47

2 Answers 2

1

You can try this

$str = "03.03.2021";
$date = DateTime::createFromFormat("d.m.Y", $str);
echo date_format($date,"Y-m-d");
Sign up to request clarification or add additional context in comments.

Comments

1

You can always convert date like:

date('Y-m-d', strtotime('03.03.2021'))

print_r results

print_r(date('Y-m-d', strtotime('03.03.2021')));

2021-03-03

print_r(date('d/m/Y', strtotime('03.03.2021')));

03/03/2021

And so on...You can use date formats like:

// Assuming today is March 10th, 2001, 5:16:18 pm, and that we are in the
// Mountain Standard Time (MST) Time Zone

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
$today = date("m.d.y");                         // 03.10.01
$today = date("j, n, Y");                       // 10, 3, 2001
$today = date("Ymd");                           // 20010310
$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
$today = date("H:i:s");                         // 17:16:18
$today = date("Y-m-d H:i:s");                   // 2001-03-10 17:16:18 (the MySQL DATETIME format)

From php.net

Btw, I'd strongly encourage you to store the date like a timestamp instead.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.