I just started using the Carbon extension (seems pretty sweet so far), but am confused on the Carbon::now()
function. According to the docs, it seems as though this function should reflect the current time in the users current timezone, however, I seem to get a time that is an hour ahead of GMT.
i.e. Carbon::now()
says 2015-01-01 17:26:46
when I am on PST and it is actually currently 2015-01-01 08:26:46
.
Do I have to detect and put in a users local timezone for all instances?
What gives? (I very well may have a fundamental misunderstanding of how a website gets a users local time)
This appears to be because the timezone of your server is different to your own.
This could be caused by:
The server's timezone appears to be CET (Central European Time) which is +1 GMT, as you described.
To fix this, you should change the timezone in your php.ini
file (instructions are from the link):
php.ini
filedate.timezone = "US/Central"
Alternatively you should replace the US/Central
timezone with the desired timezone as outlined here if you wish PHP to use another timezone.