Convert a unix timestamp to a human readable date

2019-02-21 17:38发布

问题:

I have a timestamp value from PHP: 1188604800000

When I format the time to human readable like this:

date("m/d/Y", 1188604800000)

It prints:

05/21/39635

If I put the number into an online Unix Timestamp converter I get:

Sat, 01 Sep 2007 00:00:00 GMT

What am I doing wrong?

回答1:

PHP uses seconds-based timestamps, so divide 1188604800 by 1000 and you are good.

php> echo date('Y-m-d', 1188604800000/1000);
2007-09-01


回答2:

I was having trouble with my date being one day off and I had to manually set the default timezone to match my location by using

<?php date_default_timezone_set("Australia/Perth"); ?>

A list of support timezones can be found here - http://www.php.net/manual/en/timezones.php

(I don't have enough rep to comment so can someone merge that with the actual answer?)