Home » Php » datetime – How to get local timezone in PHP?

datetime – How to get local timezone in PHP?

Posted by: admin July 12, 2020 Leave a comment

Questions:

I’m using the date("D, m/d/Y h:i:s A T") function call to get current date time but returned time is different to the time I get when I make date in linux bash command (local time is in CST and php date function returns time in UTC). I’ve tried using $timezone = @system("date +%Z",$retval); to get timezone in an attempt to set local timezone using date_default_timezone_set() function. But CST seems not a valid timezone_identifier.

In short, I just need to get the same date and time as local datetime.

How to&Answers:

Use a timezone from http://php.net/manual/en/timezones.php

So, for CST use:

<?php
date_default_timezone_set("America/Chicago");

If you only have the timezone abbreviation and not the timezone id then use:

<?php
date_default_timezone_set(timezone_name_from_abbr("CST"));

Answer:

Although the system and PHP should be on the same timezone, read the docs for date_default_timezone_set() to set the timezone manually.

Note that CST is not a valid timezone setting. Find a valid timezone for your location.

Answer:

I think I’ve found a better function: timezone_name_from_abbr()