i have a unix time 1410938094654 I want to convert this to date time format
$dt = new DateTime('@1410938094654');
$dt->setTimeZone(new DateTimeZone('Asia/Tehran'));
echo $dt->format('F j, Y, g:i a');
But the wrong time will returned
06-11-2000 00:30:54
correct time is GMT: Wednesday, September 17, 2014 7:14:54.654 AM
also my php.ini
date.timezone = "Asia/Tehran"
gmdate also returns the same date (wrong date)
DateTime accepts unixtime in seconds, and you have it in milliseconds, so you must divide timestamp to 1000 before creating new DateTime object.
$dt = new DateTime('@1410938094654');
gives: November 6, 46680, 12:30 am
$dt = new DateTime('@1410938094');
gives September 17, 2014, 7:14 am
Convert it to seconds before using.