More fixes

Your WordPress site shows the wrong time

Post dates an hour off, a scheduled post that went out at 3 a.m., bookings that land an hour early, order emails stamped in the middle of the night. Almost always it is one setting, and the giveaway is how far off it is: exactly one hour usually means daylight saving, several whole hours usually means the site is on UTC. Below is a rebuilt example (not a real client), the one-minute check, and the fix for each cause.

What the site owner sees

What the check found


  

The one-minute check

  1. Open Settings > General and look at Timezone. Under it WordPress prints "Universal time is ..." and "Local time is ...". If the local time there does not match the clock on your wall, this setting is the problem.
  2. See what is chosen. A city (for example Denver or London) is right. A plain offset such as UTC-7 or UTC+0 is the most common cause: an offset never moves for daylight saving, so the site is right for half the year and an hour off for the other half. UTC+0 is what a fresh install often starts on.
  3. Check the plugin that shows the wrong time. Booking, event, form and shop plugins often keep a timezone setting of their own. Open that plugin's settings and look for "timezone" or "use site timezone".
  4. Open Tools > Site Health. If it warns "PHP default timezone is invalid", a plugin or theme is changing the timezone behind WordPress's back, which shifts times in some places and not others.

What causes it and the fix

What you seeWhy it happensThe fix
Times are exactly one hour off, and they were fine a few months ago (or will be in a few months)The timezone is set to a fixed offset such as UTC-5. It was right when someone picked it; daylight saving started or ended and the offset did not moveIn Settings > General > Timezone, choose the city you are in (or the nearest one in the list that shares your time), then Save Changes. WordPress then says whether daylight saving is in effect and when it next changes, and moves the clock itself
Times are several whole hours off (4, 5, 7, 8 ...)The site is on UTC+0, the starting value on many installs, so every time is shown in London winter timeChoose your city as above. Posts already published keep their real moment; only the displayed time changes
Posts and the dashboard are right, but bookings, events or form entries are offThat plugin has its own timezone setting, or stores times in UTC and shows them without convertingSet the plugin to "use the site timezone" if it offers it, otherwise pick the same city in its settings. Check its calendar sync (Google Calendar, Outlook) too: each calendar has a timezone of its own
Some pages show the right time and others are off; Site Health warns "PHP default timezone is invalid"A plugin or theme calls date_default_timezone_set(), which WordPress expects to stay on UTC. Code that relies on it then shifts times twice or not at allTurn plugins off one at a time on a staging copy until the warning goes away, then report it to that plugin's author or replace the plugin. Do not "fix" it by changing the site timezone to cancel out the shift
A scheduled post went out at the wrong hour, or says Missed scheduleThe wrong hour is the timezone (rows above). "Missed schedule" is a different cause: WordPress's scheduler only runs when someone visitsFix the timezone first. For "Missed schedule", see scheduled posts not publishing
The time is right but shown the wrong way: 24-hour instead of a.m./p.m., or the day before the monthThe date and time formats are separate settings from the timezoneIn Settings > General, pick a Date Format and Time Format (g:i a gives 3:30 pm, H:i gives 15:30). Some themes hard-code their own format in the post template; that is a theme edit
You changed the setting and visitors still see the old timeA page cache (plugin, host or Cloudflare) is still serving copies made before the changeClear every cache once. See changes not showing
Even "Universal time is ..." in Settings > General is wrongThe server's own clock has drifted. Rare, and it can also break secure connections and scheduled jobsAsk the host to sync the server clock (NTP). This is theirs to fix, not a WordPress setting

What not to do

The timezone itself takes a minute. Tracking down a booking plugin and its calendar sync that disagree, or a plugin that shifts the clock behind WordPress's back, is where most owners would rather have someone do it. If that is you, the box below is for that. Related: scheduled posts not publishing, an old year on the site and changes not showing.