简体   繁体   中英

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?

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

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');

我喜欢使用strtotimedate函数,如下所示:

$mysql_date = date("Ymd", strtotime($source_date));

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM