{"id":957,"date":"2026-10-29T18:00:00","date_gmt":"2026-10-29T18:00:00","guid":{"rendered":"https:\/\/vpslake.com\/blog\/?p=957"},"modified":"2026-10-29T18:00:00","modified_gmt":"2026-10-29T18:00:00","slug":"change-timezone-ubuntu-26-04","status":"publish","type":"post","link":"https:\/\/vpslake.com\/blog\/2026\/10\/29\/change-timezone-ubuntu-26-04\/","title":{"rendered":"How to Change Timezone on Ubuntu 26.04"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">To change timezone on Ubuntu 26.04, select an IANA timezone and apply it with <code>timedatectl<\/code>. The new local-time setting takes effect immediately and normally takes only a few minutes to configure over SSH, without restarting the VPS.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Prerequisites<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Ubuntu Server 26.04 LTS installed and reachable over SSH.<\/li>\n\n\n<li>A <code>root<\/code> shell or a normal user with working <code>sudo<\/code> privileges.<\/li>\n\n\n<li>The destination timezone as an IANA name, such as <code>America\/Chicago<\/code>, <code>Europe\/London<\/code>, or <code>Asia\/Kolkata<\/code>.<\/li>\n\n\n<li>No special RAM, disk, or domain requirement; a <a href=\"https:\/\/vpslake.com\/buy-vps\">VPSLake Linux VPS<\/a> provides the server access needed for this change.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Record the current time settings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Check the existing timezone and synchronization state first so you have a baseline for the change.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ndate '+Local: %F %T %Z %z'\ndate -u '+UTC:   %F %T %Z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">A newly provisioned VPS commonly starts in UTC. The dates will differ on your machine, but the report should contain lines like these:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>               Local time: Thu 2026-10-08 14:20:11 UTC\n           Universal time: Thu 2026-10-08 14:20:11 UTC\n                 Time zone: Etc\/UTC (UTC, +0000)\nSystem clock synchronized: yes\n              NTP service: active\nLocal: 2026-10-08 14:20:11 UTC +0000\nUTC:   2026-10-08 14:20:11 UTC<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The timezone controls how software displays the current instant; it does not set the clock itself. Keep NTP enabled so changing the display zone does not turn into a clock-accuracy problem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Find the exact IANA timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu expects a zoneinfo identifier, not a label such as \u201cCentral Time\u201d or an abbreviation such as <code>CST<\/code>. List the installed choices and copy the complete spelling.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl list-timezones | grep -E '^(Africa|America|Asia|Australia|Europe)\/'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If you want to browse every available entry, use a pager:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl list-timezones | less<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Press <code>q<\/code> to exit. Example entries include:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>America\/Chicago\nAmerica\/Los_Angeles\nAmerica\/New_York\nAsia\/Kolkata\nAustralia\/Sydney\nEurope\/London<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Use the city-based entry that matches the location whose civil-time rules you need. These names include daylight-saving transitions where applicable; use <code>UTC<\/code> when you want one fixed reference for logs and scheduled operations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Apply the Ubuntu 26.04 timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run <code>timedatectl<\/code> so systemd updates the active setting and persistent <code>\/etc\/localtime<\/code> configuration together.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo timedatectl set-timezone YOUR_REGION\/YOUR_CITY<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Replace <code>YOUR_REGION\/YOUR_CITY<\/code> with the exact value from Step 2, such as <code>America\/Chicago<\/code> or <code>Asia\/Kolkata<\/code>. A successful command normally prints nothing. Read back the saved setting and resolved timezone file:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl show --property=Timezone --value\nreadlink -f \/etc\/localtime<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For <code>America\/Chicago<\/code>, the result should resemble:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>America\/Chicago\n\/usr\/share\/zoneinfo\/America\/Chicago<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">This is the recommended systemd operation; do not edit <code>\/etc\/localtime<\/code> by hand or manually change the hardware clock. See the official <a href=\"https:\/\/www.freedesktop.org\/software\/systemd\/man\/latest\/timedatectl.html\" target=\"_blank\" rel=\"noopener\"><code>timedatectl<\/code> documentation<\/a> for the supported properties and timezone operations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Check Ubuntu\u2019s time synchronization<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Timezone selection and network synchronization are separate settings, so confirm that the underlying clock is still synchronized after the update.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl show --property=NTP --property=NTPSynchronized\nsystemctl is-active systemd-timesyncd\ntimedatectl timesync-status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On a fresh Ubuntu installation using the default synchronizer, you should see results similar to:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>NTP=yes\nNTPSynchronized=yes\nactive\nServer: 91.189.89.198 (ntp.ubuntu.com)\nLeap: normal<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The server address, poll interval, and offset will vary. Ubuntu\u2019s <a href=\"https:\/\/documentation.ubuntu.com\/server\/how-to\/networking\/timedatectl-and-timesyncd\/\" target=\"_blank\" rel=\"noopener\">time synchronization guide<\/a> explains that <code>systemd-timesyncd<\/code> is the normal service and that <code>chrony<\/code> takes over when it is installed. If <code>chrony<\/code> is active on your VPS, do not start a second time daemon; verify the <code>NTPSynchronized<\/code> value and inspect Chrony instead.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify the new timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Compare the chosen zone with UTC and the saved <code>\/etc\/localtime<\/code> target. The two timestamps should represent one instant with different offsets.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl show --property=Timezone --property=NTPSynchronized\ndate -u '+UTC:   %F %T %Z'\ndate '+Local: %F %T %Z %z'\nreadlink -f \/etc\/localtime<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">After choosing <code>America\/Chicago<\/code>, the important lines should look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Timezone=America\/Chicago\nNTPSynchronized=yes\nUTC:   2026-10-08 14:20:40 UTC\nLocal: 2026-10-08 09:20:40 CDT -0500\n\/usr\/share\/zoneinfo\/America\/Chicago<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Your timestamp will be different. The change is complete when <code>Timezone<\/code> and the <code>\/usr\/share\/zoneinfo\/<\/code> path match your choice and synchronization reports <code>yes<\/code>.<\/p>\n\n\n\n<aside class=\"vl-element vl-cta-banner\" aria-label=\"Start with the right server time\">\n\t<div class=\"vl-cta-banner__content\">\n\t\t<p class=\"vl-cta-banner__eyebrow\">Ubuntu 26.04 VPS<\/p>\n\t\t<h3 class=\"vl-cta-banner__title\">Start with the right server time<\/h3>\n\t\t<p class=\"vl-cta-banner__text\">Deploy an Ubuntu VPS with root access for consistent logs, cron schedules, and application timestamps.<\/p>\n\t<\/div>\n\t<a class=\"vl-cta-banner__button\" href=\"\/buy-vps\" aria-label=\"View Linux VPS plans\">View Linux VPS plans<\/a>\n<\/aside>\n\n\n\n<h2 class=\"wp-block-heading\">Troubleshooting<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><code>Failed to set time zone: Invalid or unknown time zone<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The argument is not an exact identifier in Ubuntu\u2019s installed timezone database. Run <code>timedatectl list-timezones<\/code>, copy the full <code>Region\/City<\/code> spelling, and retry. Do not use a Windows timezone name, a display label, or a three-letter abbreviation.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>Authentication is required<\/code> or <code>Access denied<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Changing the system-wide timezone is an administrator operation. Test the account with <code>sudo -v<\/code>, add <code>sudo<\/code> to the command, or reconnect as <code>root<\/code>; changing permissions on <code>\/etc\/localtime<\/code> is not necessary.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>System has not been booted with systemd<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">You are probably inside a minimal container, chroot, or restricted shell rather than a complete Ubuntu VPS. Check the init process with <code>ps -p 1 -o comm=<\/code>. If systemd is not PID 1, set the timezone through that container or image runtime instead of changing the host\u2019s files.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>NTPSynchronized=no<\/code> or <code>systemd-timesyncd<\/code> is inactive<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">First check whether another daemon owns time synchronization:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl is-active chrony\nsystemctl status systemd-timesyncd --no-pager<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If Chrony is not active and <code>systemd-timesyncd<\/code> is missing or stopped, restore Ubuntu\u2019s default service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo apt update\nsudo apt install -y systemd-timesyncd\nsudo timedatectl set-ntp true\nsudo systemctl enable --now systemd-timesyncd\ntimedatectl show --property=NTP --property=NTPSynchronized<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Allow outbound UDP port 123 in any provider firewall or security group. If synchronization remains unavailable, inspect <code>sudo journalctl -u systemd-timesyncd -n 30 --no-pager<\/code> and confirm that DNS and outbound network access work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hardening and operational notes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n\n<li>Use <code>UTC<\/code> for infrastructure that serves multiple regions so logs and maintenance windows share one stable reference.<\/li>\n\n\n<li>Review local-time cron jobs after selecting a daylight-saving zone; their corresponding UTC execution time can change seasonally.<\/li>\n\n\n<li>Keep exactly one time-synchronization service enabled. Do not use <code>date<\/code> to manually correct a production clock.<\/li>\n\n\n<li>Record the selected IANA identifier in your provisioning notes so a rebuild gets the same behavior.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Does changing the timezone change Ubuntu\u2019s actual clock?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. <code>timedatectl set-timezone<\/code> changes the representation of the current instant, while NTP keeps that instant aligned with network time. The UTC and local <code>date<\/code> checks show the distinction.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Which timezone should I use for a VPS in India?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>Asia\/Kolkata<\/code>, the IANA identifier for India Standard Time. It normally displays a <code>+0530<\/code> offset and does not follow seasonal daylight-saving changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Can I use <code>PST<\/code>, <code>CST<\/code>, or <code>IST<\/code> instead of a city name?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use a full IANA name such as <code>America\/Los_Angeles<\/code>, <code>America\/Chicago<\/code>, or <code>Asia\/Kolkata<\/code>. Abbreviations are ambiguous and do not reliably carry the location\u2019s full seasonal rules.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do I need to reboot Ubuntu 26.04 afterward?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. The system timezone applies immediately and persists across reboots. Restart only an application that explicitly cached the old timezone during startup or deliberately uses its own UTC setting.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"Does changing the timezone change Ubuntu\u2019s actual clock?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. `timedatectl set-timezone` changes the representation of the current instant, while NTP keeps that instant aligned with network time. The UTC and local `date` checks show the distinction.\"}}, {\"@type\": \"Question\", \"name\": \"Which timezone should I use for a VPS in India?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use `Asia\/Kolkata`, the IANA identifier for India Standard Time. It normally displays a `+0530` offset and does not follow seasonal daylight-saving changes.\"}}, {\"@type\": \"Question\", \"name\": \"Can I use `PST`, `CST`, or `IST` instead of a city name?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use a full IANA name such as `America\/Los_Angeles`, `America\/Chicago`, or `Asia\/Kolkata`. Abbreviations are ambiguous and do not reliably carry the location\u2019s full seasonal rules.\"}}, {\"@type\": \"Question\", \"name\": \"Do I need to reboot Ubuntu 26.04 afterward?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. The system timezone applies immediately and persists across reboots. Restart only an application that explicitly cached the old timezone during startup or deliberately uses its own UTC setting.\"}}]}<\/script>\n\n","protected":false},"excerpt":{"rendered":"Change timezone on Ubuntu 26.04 with timedatectl, choose a valid IANA zone, preserve NTP synchronization, and verify it without rebooting the VPS.","protected":false},"author":1,"featured_media":958,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_singular_sidebar":"","csco_page_header_type":"","csco_page_load_nextpost":"","footnotes":""},"categories":[5,9],"tags":[112,108,107,104],"class_list":["post-957","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guides","category-vps-hosting","tag-systemd-timesyncd","tag-timedatectl","tag-timezone","tag-ubuntu-26-04","cs-entry"],"_links":{"self":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/957","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/comments?post=957"}],"version-history":[{"count":1,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/957\/revisions"}],"predecessor-version":[{"id":3791,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/957\/revisions\/3791"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media\/958"}],"wp:attachment":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media?parent=957"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/categories?post=957"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/tags?post=957"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}