-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

lucian_v
  • 111
  • 3
  • 12

2 Answers2

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.

JureW
  • 641
  • 1
  • 6
  • 15
1

You can try this

$str = "03.03.2021";
$date = DateTime::createFromFormat("d.m.Y", $str);
echo date_format($date,"Y-m-d");
Johnny
  • 414
  • 3
  • 12