Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Converting dates with PHP for DATETIME in SQL

I have a forum in PHP which takes a date like in the form dd/mm/yyyy hh:mm:ss. However, I need to insert it for SQL as a DATETIME in the format as yyyy-mm-dd hh:mm:ss. How can I convert this data?

like image 593
에이바 Avatar asked May 21 '12 15:05

에이바


2 Answers

Your date time format is wrong: dd/mm/yyyy hh:mm:ss. Probably you mean d/m/Y H:i:s

If you have 5.3+ version there is safe way to convert the date time into another format. Here's an example:

$timestamp = '31/05/2001 12:22:56';
$timestamp = DateTime::createFromFormat('d/m/Y H:i:s', $timestamp);
echo $timestamp->format('Y-m-d H:i:s');

or if you like more procedural way:

$timestamp = '31/05/2001 12:22:56';
$timestamp = date_create_from_format('d/m/Y H:i:s', $timestamp);
echo date_format($timestamp, 'Y-m-d H:i:s');

Be careful with previous suggestions. Some are completely wrong and others could lead to errors.

like image 56
kodeart Avatar answered Oct 09 '22 06:10

kodeart


You can use the strtotime and date to rework the format.

$new_date = date( "Y-m-d H:i:s", strtotime( $old_date ) );

What this does is take your old date (dd/mm/yyyy hh:mm:ss), converts it to a unix timestamp that can then be used with the php date function to format the date to the desired format.

like image 4
jjaybrown98 Avatar answered Oct 09 '22 04:10

jjaybrown98