There are two ways of changing the system timezone in Linux, either you use
timedatectl or changing the
/etc/localtime symbolic link and pointing it to your chosen timezone at
Check the available zones first, which in turn will be provided when we set the timezone you’re gonna use for your system.
This will show you all available timezone you can set. You can also use
/usr/zoneinfo for the list but this one’s a lot easier than checking each folder for approriate zones.
Now let’s set your timezone. In my case I’ll use
Asia/Manila as my timezone.
timedatectl set-timezone Asia/Manila
Once set, you can now verify if your timezone is currently used by your system. You can run either
timedatectl. Running just
timedatectl defaults to
timedatectl status, so there’s no need to do it the long way.
Solution 2: Change Symlink of
If you’ll check were the
/etc/localtime is being point to, you’ll see it’s at
readlink -f /etc/localtime
Root holds owner of the file, and has a 777 permission. So first let’s remove the symlink
sudo rm -rf /etc/localtime
Doing the long way to search and confirm for your timezone, and look for it at
You can do a recursive search to make it easier
ls -R /usr/share/zoneinfo
Once you know the timezone to set. Now create a symlink:
sudo ln -s /usr/share/zoneinfo/Asia/Manila /etc/localtime
Verify if your system is now using your selected timezone:
Written with StackEdit.