简体   繁体   中英

Convert a unix timestamp to a human readable date in PHP?

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?

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

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?)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM