Convert from MySQL datetime to another format with PHP
I have a
datetime column in MySQL.
How can I convert it to the display as mm/dd/yy H:M (AM/PM) using PHP?
Verified Answer (307 Votes) ✓
To convert a date retrieved from MySQL into the format requested (
mm/dd/yy H:M (AM/PM)):
// $datetime is something like: 2014-01-31 13:05:59 $time = strtotime($datetimeFromMysql); $myFormatForView = date("m/d/y g:i A", $time); // $myFormatForView is something like: 01/31/14 1:05 PM
Refer to the PHP date formatting options to adjust the format.
Answer #2 (507 Votes)
If you're looking for a way to normalize a date into MySQL format, use the following
$phpdate = strtotime( $mysqldate ); $mysqldate = date( 'Y-m-d H:i:s', $phpdate );
$phpdate = strtotime( $mysqldate ) accepts a string and performs a series of heuristics to turn that string into a unix timestamp.
$mysqldate = date( 'Y-m-d H:i:s', $phpdate ) uses that timestamp and PHP's
date function to turn that timestamp back into MySQL's standard date format.
(Editor Note: This answer is here because of an original question with confusing wording, and the general Google usefulness this answer provided even if it didnt' directly answer the question that now exists)
Answer #3 (110 Votes)
If you are using PHP 5, you can also try
$oDate = new DateTime($row->createdate); $sDate = $oDate->format("Y-m-d H:i:s");