WP 5.3 broke my date/time fields? How I fixed my timezone issues
TL;DR: check outside your theme for any usages of
date_default_timezone_set() Changelog of 5.3 goes more into why you should no longer use this function, and what to do instead.
One of the most frequently used pages on the VTSL site is their calendar page, which loads their upcoming show info (via ajax) into cards:
When I updated the site to WordPress 5.3, all the show times were off by 8 hours (7:30pm -> 3:30am, etc.), which is suspiciously exactly the difference between PST (America/Vancouver) and UTC.
I kept production at 5.2.4, played around with the theme code (which has some somewhat complex custom post types and and Advanced Field Groups set up), and have now figured out the source of the problem inside wp-config.php.
# Set timezone to Vancouver
Big thanks to this hint from these Tribe Cal users: https://wordpress.org/support/topic/timezone-is-off-displaying-utc-on-all-events/
Even though we don’t use Tribe for VTSL, it made me look outside of the theme at all the plugins, and eventually to the problematic line in wp-config.