{"id":933,"date":"2026-10-26T18:00:00","date_gmt":"2026-10-26T18:00:00","guid":{"rendered":"https:\/\/vpslake.com\/blog\/?p=933"},"modified":"2026-10-26T18:00:00","modified_gmt":"2026-10-26T18:00:00","slug":"change-timezone-ubuntu-22-04","status":"publish","type":"post","link":"https:\/\/vpslake.com\/blog\/2026\/10\/26\/change-timezone-ubuntu-22-04\/","title":{"rendered":"How to Change Timezone on Ubuntu 22.04 (Step-by-Step)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Change timezone on Ubuntu 22.04 with <code>timedatectl<\/code>, then verify the local clock, UTC clock, and time synchronization. The change usually takes less than five minutes and does not require a reboot.<\/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 22.04 LTS (Jammy Jellyfish) on the VPS.<\/li>\n\n\n<li>An SSH connection as <code>root<\/code>, or a regular user with working <code>sudo<\/code> privileges.<\/li>\n\n\n<li>The IANA timezone name you want, such as <code>America\/New_York<\/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> gives you the Ubuntu server and root access needed for this change.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Check the current timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Read the existing clock and synchronization state first so you can compare the result after the change.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ndate '+%F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Typical output resembles this, although the date and offset will be different on your server:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>               Local time: Tue 2026-10-06 18:20:14 UTC\n           Universal time: Tue 2026-10-06 18:20:14 UTC\n                 Time zone: Etc\/UTC (UTC, +0000)\nSystem clock synchronized: yes\n              NTP service: active\n2026-10-06 18:20:14 UTC +0000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><code>timedatectl<\/code> reports the timezone used for local display, while <code>date<\/code> shows the same setting in a compact form. A server can display local time in your chosen zone while still keeping the underlying system clock synchronized with UTC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu&#8217;s <a href=\"https:\/\/documentation.ubuntu.com\/server\/how-to\/networking\/timedatectl-and-timesyncd\/index.html\" target=\"_blank\" rel=\"noopener\">timedatectl and timesyncd documentation<\/a> covers the related synchronization service when you need to inspect NTP behavior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 2: Find the exact IANA timezone name<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ubuntu accepts database names, not informal labels such as \u201cEastern Time\u201d or \u201cIndia time,\u201d so select an entry from the system&#8217;s installed timezone database.<\/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\">Use <code>Page Up<\/code>, <code>Page Down<\/code>, and <code>q<\/code> to leave the list. To narrow it to likely choices, search by region or city:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl list-timezones | grep -E '^(America|Asia|Australia|Europe)\/'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The list contains names such as these:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>America\/Chicago\nAmerica\/Los_Angeles\nAmerica\/New_York\nAsia\/Kolkata\nAsia\/Singapore\nEurope\/London<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Choose a city-based zone when possible because it includes daylight-saving rules where they apply. Use <code>UTC<\/code> when every service, log, and scheduled task should use Coordinated Universal Time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Set the timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run <code>timedatectl set-timezone<\/code> with the exact name from Step 2; systemd updates Ubuntu&#8217;s persistent local-time configuration and the running system setting 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 a real value, for example <code>America\/New_York<\/code> or <code>Asia\/Kolkata<\/code>. The command normally returns no text when it succeeds, so immediately read the setting back:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl show --property=Timezone --value\ndate '+%F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For an India-based server, successful output could look like this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Asia\/Kolkata\n2026-10-07 00:05:14 IST +0530<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The displayed hour changes to the selected zone, but this command does not manually set the clock or disable NTP. That separation is important: timezone selection controls presentation, while time synchronization keeps the actual system clock accurate.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 4: Check the persistent timezone files<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Confirm the saved configuration so the choice will survive a service restart and reboot.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>readlink -f \/etc\/localtime\ncat \/etc\/timezone<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Both lines should identify the selected zone:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/usr\/share\/zoneinfo\/Asia\/Kolkata\nAsia\/Kolkata<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On Ubuntu, <code>\/etc\/localtime<\/code> points to the zoneinfo file used by local-time libraries, and <code>\/etc\/timezone<\/code> records the zone name. Do not replace the symlink manually when <code>timedatectl<\/code> can make the change safely.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify the new timezone and NTP state<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run one final check that shows the selected zone, the local offset, and whether network time synchronization remains enabled.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ntimedatectl show --property=Timezone --property=NTP --property=NTPSynchronized\ndate -u '+UTC: %F %T %Z'\ndate '+Local: %F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The important lines should resemble this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>                 Time zone: Asia\/Kolkata (IST, +0530)\nSystem clock synchronized: yes\n              NTP service: active\nTimezone=Asia\/Kolkata\nNTP=yes\nNTPSynchronized=yes\nUTC: 2026-10-06 18:35:14 UTC\nLocal: 2026-10-07 00:05:14 IST +0530<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The UTC and local lines represent the same instant with different offsets. If they do, Ubuntu 22.04 is using the new timezone correctly and the clock is still synchronized.<\/p>\n\n\n\n<aside class=\"vl-element vl-cta-banner\" aria-label=\"Set the right server time\">\n\t<div class=\"vl-cta-banner__content\">\n\t\t<p class=\"vl-cta-banner__eyebrow\">Ubuntu VPS<\/p>\n\t\t<h3 class=\"vl-cta-banner__title\">Set the right server time<\/h3>\n\t\t<p class=\"vl-cta-banner__text\">Deploy an Ubuntu VPS with root access for predictable logs, cron jobs, 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 name is not an exact entry in Ubuntu&#8217;s timezone database. Run <code>timedatectl list-timezones<\/code>, copy a complete value such as <code>America\/Los_Angeles<\/code>, and run the <code>set-timezone<\/code> command again. Do not use spaces, abbreviations, or a Windows timezone label.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><code>Access denied<\/code> or <code>Authentication is required<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Changing the system timezone requires administrator privileges. Prefix the command with <code>sudo<\/code>, confirm that <code>sudo -v<\/code> succeeds, or reconnect as <code>root<\/code>; do not loosen permissions on <code>\/etc\/localtime<\/code>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The timezone changed, but the clock is still wrong<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Changing the zone changes the displayed offset; it does not repair a clock that is not synchronized. Inspect the status output and, when <code>NTP service<\/code> is inactive, ask systemd to enable its configured time-sync service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo timedatectl set-ntp true\ntimedatectl status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If the VPS uses <code>chrony<\/code>, check it with <code>systemctl status chrony --no-pager<\/code> instead of trying to run two time-sync services at once. A short delay before <code>System clock synchronized: yes<\/code> is normal after networking becomes available.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Cron jobs or logs show UTC after the change<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Some applications deliberately log in UTC, and individual services can set their own timezone. Check the application&#8217;s configuration and the service&#8217;s environment before changing system-wide settings again; use <code>date<\/code> and <code>timedatectl<\/code> to prove what Ubuntu itself is using.<\/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>Keep servers that coordinate across regions on <code>UTC<\/code> unless you have a clear operational reason to use local time.<\/li>\n\n\n<li>Review cron schedules after changing the zone, especially around daylight-saving transitions; a local-time job can run at a different UTC hour.<\/li>\n\n\n<li>Keep NTP enabled and avoid manually changing the clock with <code>date<\/code> on a production VPS.<\/li>\n\n\n<li>Record the selected IANA name in deployment documentation so a rebuild uses the same setting.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">FAQ<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">What is the correct timezone for India on Ubuntu 22.04?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>Asia\/Kolkata<\/code>. It is the current IANA name and uses India Standard Time at a <code>+0530<\/code> offset; <code>Asia\/Calcutta<\/code> is an older alias and should not be your example for new configurations.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does changing the timezone require a reboot?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. <code>timedatectl set-timezone<\/code> changes the system setting immediately and updates the persistent configuration. Open a new shell or restart an application only if that application cached the old timezone when it started.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Will changing the server timezone change NTP synchronization?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. NTP synchronizes the system clock to an accurate time source, while the timezone determines how that instant is displayed. The <code>NTP<\/code> and <code>NTPSynchronized<\/code> properties should remain enabled after the change.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Should a web server use UTC or local time?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">UTC is usually the least ambiguous choice for distributed applications, logs, and scheduled automation. Use a local zone only when business schedules require it, and make sure the application and its database use the same convention.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What is the correct timezone for India on Ubuntu 22.04?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use `Asia\/Kolkata`. It is the current IANA name and uses India Standard Time at a `+0530` offset; `Asia\/Calcutta` is an older alias and should not be your example for new configurations.\"}}, {\"@type\": \"Question\", \"name\": \"Does changing the timezone require a reboot?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. `timedatectl set-timezone` changes the system setting immediately and updates the persistent configuration. Open a new shell or restart an application only if that application cached the old timezone when it started.\"}}, {\"@type\": \"Question\", \"name\": \"Will changing the server timezone change NTP synchronization?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. NTP synchronizes the system clock to an accurate time source, while the timezone determines how that instant is displayed. The `NTP` and `NTPSynchronized` properties should remain enabled after the change.\"}}, {\"@type\": \"Question\", \"name\": \"Should a web server use UTC or local time?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"UTC is usually the least ambiguous choice for distributed applications, logs, and scheduled automation. Use a local zone only when business schedules require it, and make sure the application and its database use the same convention.\"}}]}<\/script>\n\n","protected":false},"excerpt":{"rendered":"Change timezone on Ubuntu 22.04 with timedatectl, select the right IANA zone, keep NTP working, and verify the new local time in just minutes.","protected":false},"author":1,"featured_media":934,"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":[93,108,107,101],"class_list":["post-933","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guides","category-vps-hosting","tag-linux-vps","tag-timedatectl","tag-timezone","tag-ubuntu-22-04","cs-entry"],"_links":{"self":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/933","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=933"}],"version-history":[{"count":1,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/933\/revisions"}],"predecessor-version":[{"id":3747,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/933\/revisions\/3747"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media\/934"}],"wp:attachment":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media?parent=933"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/categories?post=933"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/tags?post=933"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}