Carbon now time wrong

ambe5960 picture ambe5960 · Jan 1, 2015 · Viewed 25.9k times · Source

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)

Answer

Frank L picture Frank L · Nov 20, 2015

Carbon is UTC based therefore simply doing Carbon::now() will output the time in UTC format

You have to specify the timezone for an accurate reflection of the dateTime in your city or area.

There are two ways to do this. You can either do:

Carbon::now('PST') OR Carbon::now('Continent/City') like (Carbon::now('America/Montreal') for example