My situation is that get always the dates one day behind.
For example, I have this value -243219600 which is relative to date 18/04/1962
After a
date('d/m/Y', -243219600);
Output is :
17/04/1962
-243219600 seconds from January 1 1970 00:00:00 UTC in javascript is here you get correct Date.
The output of date() depends on the configured time zone. If you add the time and timezone, you can see it. In my case it is CET:
echo date('d/m/Y H:m:i T', -243219600);
//prints: 18/04/1962 00:04:00 CET
date()If you want date() to use UTC, use date_default_timezone_set:
date_default_timezone_set('UTC');
echo date('d/m/Y H:m:i T', -243219600);"
17/04/1962 23:04:00 UTC
(you see, since it is one hour before midnight in UTC, the date depends on the timezone)
DateTime:The DateTime class uses always UTC if it is constructed by a Unix timestamp:
From the documentation:
Note:
The
$timezoneparameter and the current timezone are ignored when the$timeparameter either is a UNIX timestamp (e.g. @946684800) or specifies a timezone (e.g. 2010-01-28T15:00:00+02:00).
So you can use the following code as well:
echo (new DateTime('@-243219600'))->format('d/m/Y');
Check the timezone of your PHP, set it so it's the same as your computer (since your using javascript).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With