{"id":955,"date":"2026-10-29T13:00:00","date_gmt":"2026-10-29T13:00:00","guid":{"rendered":"https:\/\/vpslake.com\/blog\/?p=955"},"modified":"2026-10-29T13:00:00","modified_gmt":"2026-10-29T13:00:00","slug":"change-timezone-ubuntu-25-10","status":"publish","type":"post","link":"https:\/\/vpslake.com\/blog\/2026\/10\/29\/change-timezone-ubuntu-25-10\/","title":{"rendered":"How to Change Timezone on Ubuntu 25.10 (Step-by-Step)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Change timezone on Ubuntu 25.10 with <code>timedatectl<\/code>, then confirm that local time, UTC, and network synchronization still agree. You can finish the change over SSH in about five minutes, and the server does not need 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 25.10 (Questing Quokka) installed on the VPS.<\/li>\n\n\n<li>SSH access as <code>root<\/code>, or a normal account that can run commands with <code>sudo<\/code>.<\/li>\n\n\n<li>The destination timezone as an IANA name, such as <code>America\/New_York<\/code>, <code>America\/Los_Angeles<\/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 Ubuntu server and administrator access needed here.<\/li>\n\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Step 1: Inspect the current time settings<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Record the current zone and synchronization state first so you can tell a display change from a clock that is actually inaccurate.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl status\ntimedatectl show --property=Timezone --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\">A fresh VPS often starts in UTC. The date will differ on your machine, but the important fields should look similar to this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>               Local time: Thu 2026-10-08 10:30:00 UTC\n           Universal time: Thu 2026-10-08 10:30:00 UTC\n                 Time zone: Etc\/UTC (UTC, +0000)\nSystem clock synchronized: yes\n              NTP service: active\nTimezone=Etc\/UTC\nNTPSynchronized=yes\nUTC:   2026-10-08 10:30:00 UTC\nLocal: 2026-10-08 10:30:00 UTC +0000<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The timezone only changes how software presents the current instant. <code>NTPSynchronized=yes<\/code> tells you that a time service is keeping that instant accurate.<\/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 uses the tzdata database, so choose a complete <code>Region\/City<\/code> identifier instead of a label such as \u201cEastern Time\u201d or an ambiguous abbreviation like <code>EST<\/code>.<\/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\">Example results 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\">If you need to browse every installed choice, run the following and press <code>q<\/code> when you are finished:<\/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 a city-based zone because it includes the location\u2019s daylight-saving rules. Select <code>UTC<\/code> when logs and scheduled maintenance should use one stable reference time regardless of where operators are located.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Step 3: Set the Ubuntu 25.10 timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Apply the setting through systemd so the running system and persistent <code>\/etc\/localtime<\/code> link are updated 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 entry from Step 2, such as <code>America\/New_York<\/code> or <code>Asia\/Kolkata<\/code>. A successful command normally prints nothing. Read back the saved name and its zoneinfo target:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>timedatectl show --property=Timezone --value\nreadlink -f \/etc\/localtime\ndate '+Local: %F %T %Z %z'<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">For <code>America\/New_York<\/code>, output will resemble this; the timestamp and daylight-saving abbreviation depend on the date:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>America\/New_York\n\/usr\/share\/zoneinfo\/America\/New_York\n2026-10-08 06:30:00 EDT -0400<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Do not edit <code>\/etc\/localtime<\/code> by hand or use <code>date<\/code> to force the clock to a local-looking value. The official <a href=\"https:\/\/www.freedesktop.org\/software\/systemd\/man\/latest\/timedatectl.html\" target=\"_blank\" rel=\"noopener\"><code>timedatectl<\/code> reference<\/a> documents the timezone operations used here.<\/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 clock synchronization are separate, so confirm the service that maintains the underlying clock after changing the display zone.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl is-active systemd-timesyncd\ntimedatectl timesync-status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">On a VPS using Ubuntu\u2019s default synchronizer, you should see <code>active<\/code> followed by a report containing values like these:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>active\n       Server: 91.189.89.198 (ntp.ubuntu.com)\nPoll interval: 32s (min: 32s; max 34min 8s)\n          Leap: normal\n       Stratum: 2<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">The server address, poll interval, and stratum vary. The useful signs are an active service and a normal synchronization state. Ubuntu\u2019s <a href=\"https:\/\/documentation.ubuntu.com\/server\/how-to\/networking\/timedatectl-and-timesyncd\/\" target=\"_blank\" rel=\"noopener\">server documentation for <code>timedatectl<\/code> and <code>timesyncd<\/code><\/a> explains how this default service works and notes that Chrony takes over if it is installed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Verify the new Ubuntu 25.10 timezone<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Run a final comparison that proves the selected zone is persistent and that local time represents the same instant as UTC.<\/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\/New_York<\/code>, the result should have the same shape as this:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Timezone=America\/New_York\nNTPSynchronized=yes\nUTC:   2026-10-08 10:30:00 UTC\nLocal: 2026-10-08 06:30:00 EDT -0400\n\/usr\/share\/zoneinfo\/America\/New_York<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">Your timestamp will be different. The check passes when <code>Timezone<\/code> and the <code>\/etc\/localtime<\/code> target match your choice, while the local and UTC lines show the expected offset. Existing applications that deliberately use UTC can continue to display UTC.<\/p>\n\n\n\n<aside class=\"vl-element vl-cta-banner\" aria-label=\"Set your server\u2019s local 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 your server\u2019s local time<\/h3>\n\t\t<p class=\"vl-cta-banner__text\">Deploy an Ubuntu VPS with root access for accurate 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 entry in the installed tzdata database. Run <code>timedatectl list-timezones<\/code>, copy the complete capitalization and slash-separated name, 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 administrative operation. Confirm the account can authenticate 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>systemd-timesyncd<\/code> is inactive or <code>NTPSynchronized=no<\/code><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Another service such as Chrony may already own time synchronization, or the default package may not be enabled. Check for an active provider before starting a second daemon:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemctl --type=service --state=running | grep -E 'chrony|timesyncd'\ntimedatectl status<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\">If neither service is present, restore Ubuntu\u2019s built-in synchronizer:<\/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\">The last command should eventually report <code>NTP=yes<\/code> and <code>NTPSynchronized=yes<\/code>. If it does not, inspect <code>sudo journalctl -u systemd-timesyncd -n 30 --no-pager<\/code> and make sure outbound UDP port 123 is allowed by any provider firewall or security group.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">The host changed, but an application still shows UTC<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The operating system may be correct while the application, container, database, or shell has its own timezone setting. Confirm the host with <code>timedatectl show --property=Timezone --value<\/code>, check for a <code>TZ<\/code> environment variable with <code>env | grep '^TZ='<\/code>, and follow the affected software\u2019s configuration before restarting only that service.<\/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 infrastructure on <code>UTC<\/code> when services span several regions; this makes logs and maintenance windows easier to correlate.<\/li>\n\n\n<li>Review cron jobs after choosing a daylight-saving zone because a local-time schedule can move relative to UTC when the offset changes.<\/li>\n\n\n<li>Keep exactly one time-synchronization service in charge and avoid manually changing the clock with <code>date<\/code>.<\/li>\n\n\n<li>Ubuntu 25.10 is an interim release with support through July 2026; if this VPS is still running it, plan a supported-release upgrade before relying on it for long-term production work.<\/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 timezone should I use for a VPS in New York?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Use <code>America\/New_York<\/code>, not <code>EST<\/code>. The IANA location includes the correct Eastern Time daylight-saving transitions, so the displayed abbreviation can change between <code>EST<\/code> and <code>EDT<\/code> as the calendar changes.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Does changing the timezone change the server\u2019s actual clock?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. <code>timedatectl set-timezone<\/code> changes the local representation of the current instant. The NTP service remains responsible for keeping that instant aligned with network time.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Do I need to reboot Ubuntu 25.10?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">No. The timezone applies immediately and is persisted through <code>\/etc\/localtime<\/code>. Restart a particular service only when it explicitly caches timezone information at startup.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Why does a cron job run at a different UTC time after the change?<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Cron normally interprets schedules in the system\u2019s local timezone, so a daylight-saving zone can shift its UTC execution time. Use UTC for the host or configure the job and application with an explicit timezone when the global execution instant must remain fixed.<\/p>\n\n\n\n<script type=\"application\/ld+json\">{\"@context\": \"https:\/\/schema.org\", \"@type\": \"FAQPage\", \"mainEntity\": [{\"@type\": \"Question\", \"name\": \"What timezone should I use for a VPS in New York?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Use `America\/New_York`, not `EST`. The IANA location includes the correct Eastern Time daylight-saving transitions, so the displayed abbreviation can change between `EST` and `EDT` as the calendar changes.\"}}, {\"@type\": \"Question\", \"name\": \"Does changing the timezone change the server\u2019s actual clock?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. `timedatectl set-timezone` changes the local representation of the current instant. The NTP service remains responsible for keeping that instant aligned with network time.\"}}, {\"@type\": \"Question\", \"name\": \"Do I need to reboot Ubuntu 25.10?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"No. The timezone applies immediately and is persisted through `\/etc\/localtime`. Restart a particular service only when it explicitly caches timezone information at startup.\"}}, {\"@type\": \"Question\", \"name\": \"Why does a cron job run at a different UTC time after the change?\", \"acceptedAnswer\": {\"@type\": \"Answer\", \"text\": \"Cron normally interprets schedules in the system\u2019s local timezone, so a daylight-saving zone can shift its UTC execution time. Use UTC for the host or configure the job and application with an explicit timezone when the global execution instant must remain fixed.\"}}]}<\/script>\n\n","protected":false},"excerpt":{"rendered":"Change timezone on Ubuntu 25.10 with timedatectl, choose a valid IANA zone, keep systemd-timesyncd healthy, and verify the result without rebooting.","protected":false},"author":1,"featured_media":956,"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,103],"class_list":["post-955","post","type-post","status-publish","format-standard","has-post-thumbnail","category-guides","category-vps-hosting","tag-systemd-timesyncd","tag-timedatectl","tag-timezone","tag-ubuntu-25-10","cs-entry"],"_links":{"self":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/955","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=955"}],"version-history":[{"count":1,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/955\/revisions"}],"predecessor-version":[{"id":3786,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/posts\/955\/revisions\/3786"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media\/956"}],"wp:attachment":[{"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/media?parent=955"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/categories?post=955"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/vpslake.com\/blog\/wp-json\/wp\/v2\/tags?post=955"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}