minimalpop
minimalpop

Reputation: 7058

php convert date to MySQL date

I need to convert a date in this format:

November 28, 2009

to a MySQL date format:

2009-28-11

What's the best method to convert the date using PHP?

Upvotes: 1

Views: 32363

Answers (4)

desloovere_j
desloovere_j

Reputation: 746

If you want a "date" to be converted to "DateTime" this is the best way =

// for example: you have a string with the following
$dateFormat = 'd/m/Y';
$dateString = '02/12/2019';

// you can easily create DateTime using
$dateTime = \DateTime::createFromFormat($dateFormat, $dateString);

As described in the php documentation for createFromFormat.

And to answer completely on your question:

echo $dateTime->format('y-m-d');

Upvotes: 5

Sumit
Sumit

Reputation: 11

There are two options you can use which are strtotime or preg_split and sprintf. I recommend you use strtotime. The structure goes like this:

$date = 'November 28 2009';
$sqldate = date('Y-m-d', strtotime($date));

Make sure the Y is capital so it reads as 0000 otherwise it will read 00.

Upvotes: 1

antik
antik

Reputation: 5330

I like to use strtotime and the date function as follows:

$mysql_date = date("Y-m-d", strtotime($source_date));

Upvotes: 4

mauris
mauris

Reputation: 43619

Improvised from: http://www.bigroom.co.uk/blog/dates-in-php-and-mysql

$mysqldate = date( 'Y-m-d', strtotime( $phpdate ) );

// Example:
$phpdate = 'November 20, 2009';
$mysqldate = date( 'Y-m-d', strtotime( $phpdate ) );

echo $mysqldate;
// output: 2009-11-20

Upvotes: 10

Related Questions