5

The problem

MacBook Pro (Catalina 10.15.7) decided to start showing GMT in the status bar and system preferences last week. It is physically in Pacific time (PST) and I'd like it to show that time instead.

Troubleshooting thus far

Following Apple instructions

  • System Preferences > Date & Time:
    • "Set date and time automatically" is turned on using Apple Americas/U.S. (time.apple.com.) (problem persists with all servers)
    • "Set time zone automatically using current location` is turned on
    • Time Zone correctly locates me in PST
    • Time Zone listing is empty
    • Privacy settings are turned on to allow location services for Time Zone & System Customizations
  • Computer has been restarted several times
  • PRAM has been reset several times
  • Computer is connected to wifi

Following this post:

  • localtime is correct as are link to database and permissions
  • Accessibility has been reset
  • ntpdate has been run

Current situation

(Really, more of "The Problem" but with a lot of the basic troubleshooting out of the way. Maybe this is "where it gets good".)

  • date returns the correct (local) time
  • systemsetup gettimezone returns GMT
  • systemsetup listtimezones returns Time Zones: and nothing else
  • systemsetup settimezone America/Los_Angeles returns America/Los_Angeles is not a valid timezone

Did the timezone list somehow go missing? Can I add it manually? Is there an update I can run to re-link this somehow?

I'd like to resolve this without an OS re-install if I can. Help me Ask Different, you're my only hope.

5 Answers 5

2

2022 Update - I faced a similar issue today on my M1 Max MacBook Pro on macOS Ventura 13.0.1. When I logged in, the time displayed was suddenly in GMT and when I tried to change this through Settings > General > Date & Time the settings pane for adjusting the Date and Time would not open!

I tried to call Apple Support but their solution was to reinstall the OS (duh!). When that did not help me, Google let me to this thread. Similar to @justmydisplayname systemsetup listtimezones returned Time Zones: and nothing else for me too.

I had another iMac running macOS Ventura 13.0.1 which I used as the donor for the icutz44l.dat file. However, when I tried some of the commands above, I kept getting Operation not permitted error. To get around this, I had to reboot into recovery mode, mount my drive using Disk Utility and then use the terminal to overwrite the icutz44l.dat file.

Once I had done this, things went back to normal. The clock was showing time in my timezone and the Date & Time pane was working as expected again. Thanks everyone for your tips.

1

I was experiencing this same problem after updating to 10.15.7. The fix for me was copying the old /private/var/db/timezone/tz/2020a.1.0/icutz/ictuz44l.dat to the new /private/var/db/timezone/tz/2020d.1.0/icutz directory. Make sure you backup the 2020d.1.0 version before replacing. After the copy is complete, restart the timed service.

The new version must have been corrupted somehow.

2
  • Thanks @armiller - /private/var/db/timezone/tz/2020a.1.0/ (which you marked as old) does not exist, but /private/var/db/timezone/tz/2020d.1.0/icutz/icutz44l.dat (which you marked as new) does. Could these be reversed in your reply, or does this point to a different problem? Nov 12, 2020 at 16:05
  • Had the same problem after an upgrade to 12.6.2 Monterey on a MacBook Pro M1: Timezone was listed correctly; date in terminal returned correctly; date and time settings showed correct timezone, but systemsetup gettimezone returned GMT. I copied a prior icutz44l.dat file and did sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.timed.plist and it was fixed :) Thanks @armiller
    – RACKGNOME
    Jan 3, 2023 at 7:59
1

I didn’t have to “fix anything” so this isn’t super satisfying as an answer, but the problem has resolved itself. I see no updates that would have affected this and took no further action.

1

I waited about a week, but the issue persisted. I began to have issues with Calendar.app wherein some events were reported correctly (but in GMT) and some events were reported incorrectly (as if my timezone was restored to Eastern Time).

My most recent tz folder was 2021a.1.0:

# ls -rt /private/var/db/timezone/tz/ | tail -n 1
2021a.1.0

My next most recent tz folder was:

# ls -rt /private/var/db/timezone/tz/ | tail -n 2 | head -n 1
2020f.1.0

Following @armiller's suggestion, I was able to fix my Mac by running this in Terminal.app:

broken=$(ls -rt /private/var/db/timezone/tz/ | tail -n 1)
previous=$(ls -rt /private/var/db/timezone/tz/ | tail -n 2 | head -n 1)

cd /private/var/db/timezone/tz

sudo mv $broken/icutz/icutz44l.dat $broken/icutz/icutz44l.dat.bak
sudo cp $previous/icutz/icutz44l.dat $broken/icutz/icutz44l.dat

I then opened the Timezone selector in System Preferences. Now the timezone is set to a real value. My Calendar uses the correct time. Unfortunately, the clock in the menu bar was still wrong. Restarting the OS fixed the clock in the menu bar.

0

Thanks a lot folks for all your helpful tips - this problem hit me out of the blue and I had exactly the same symptoms as described by the OP on my Sonoma M1 macbook with Sonoma 14.3. It turns out it was a broken timezone database. I copied over an older version of the database from my old 2015 macbook running on Big Sur.

Important Steps not mentioned above:

  1. newer Macbooks use SIP (System Integrity Protection)

SIP prevents simply overriding timezone files. Boot into Recovery Mode and turn off SIP by running csrutil disable in the terminal. More details here https://developer.apple.com/documentation/security/disabling_and_enabling_system_integrity_protection

  1. I tar'ed the older database as su on my old laptop
    cd /var/db/timezone/tz
    sudo tar -cvf ~/tz_db.tar 2023c.1.0

copy the file tz_db.tar to the "broken" laptop

  1. Boot into "Safe Mode" on the "broken" laptop

I did restore the older 2023c.1.0 version of the database.

    cd /var/db/timezone/tz
    sudo tar -xvf tz_db.tar

After doing so, ensure that in folder /var/db/timezone the softlinks icutz, tz_latest and zoneinfo point to the correct locations:

cd /var/db/timezone
rm icutz; ln -s /var/db/timezone/tz/2023c.1.0/icutz icutz
rm tz_latest; ln -s  /var/db/timezone/tz/2023c.1.0 tz_latest
rm zoneinfo; ln -s /var/db/timezone/tz/2023c.1.0/zoneinfo zoneinfo
  1. don't forget to boot back into "Recovery Mode" and turn on SIP using csrutil enable when you are done

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .