I have tried this code:
$dateFromDB = '2012-06-22T14:06:55+00:00';
$newDate = DateTime::createFromFormat('yyyy-MM-ddThh:mm:sszzz', $dateFromDB);
$date = $newDate->format('U'); // convert to timestamp
echo $date;
but gave me this error:
Fatal error: Call to a member function format() on a non-object in...
What is the problem with this code?
strtotime()
should be able to parse that nicely and returns Unix timestamp.
<?php
$timestamp = strtotime('2012-06-22T14:06:55+00:00');
echo $timestamp; // prints: 1340374015
try:
$date = strtotime($dateFromDB);
or if you really need to use DateTime
$dateFromDB = '2012-06-22T14:06:55+00:00';
$newDate = DateTime::createFromFormat('Y-m-d?H:i:sP', $dateFromDB);
$date = $newDate->format('U'); // convert to timestamp
echo $date;
If you need to use DateTime please try it procedural way:
$dateFromDB = '2012-06-22T14:06:55+00:00';
$timestamp = date_create_from_format('Y-m-d\TH:i:sP', $dateFromDB);
// To get Unix timespamp
echo date_format($timestamp, 'U');
// To get user-formated Date
echo date("d.m.Y H:i:s", date_format($timestamp, 'U'));