Default timezone hardcoded as UTC?

While debugging a plugin I was writing, I noticed that on line 36 of wp-settings.php, the default timezone is hardcoded to UTC with a call to the date_default_set_timezone() function. This means any call to the PHP date/time functions will work with UTC as the local time.

Can someone please explain to me why this is a sane design choice by the WordPress team? I understand if they want to store and manipulate times internally as UTC, but wouldn’t a better alternative be to explicitly switch to a “UTC mode” when they need to do such logic?

Read More

Assuming you know to set your server’s php.ini’s timezone setting, this hardcoded UTC basically invalidates php.net’s description of the date() function:

date — Format a local time/date

Which strikes me as a bad thing, no?

Related posts

Leave a Reply

2 comments

  1. WordPress is not a simplistic script, it is a extensive web app. It includes own time zone settings and own functions for output of localized date/time info.

    I suppose it is much more straightforward to set baseline time zone and operate on top of that, than trying to change it back and forth around all related functionality.