Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

On a systemd-based Linux VPS, set Indian Standard Time with sudo timedatectl set-timezone Asia/Kolkata. The correct IANA time-zone identifier is Asia/Kolkata; IST by itself is only an abbreviation and is not the value you should pass to timedatectl. Verify the change with timedatectl, which should show Asia/Kolkata (IST, +0530).

What changes when you set a VPS to IST

A Linux host stores and measures time independently from the way it displays that time. The time-zone setting tells the operating system how to convert the system clock into local time for commands, logs, scheduled jobs and software that relies on the host’s time-zone database. Selecting India Standard Time changes that presentation to Indian local time, which is five hours and 30 minutes ahead of UTC.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

It does not manually advance or rewind the underlying clock, and it does not replace network time synchronization. A VPS can therefore show the correct Asia/Kolkata zone while still having a synchronization problem, or it can have an accurate UTC clock while displaying UTC because its zone is still set to UTC.

Use the full IANA identifier

Linux uses the IANA time-zone database. For Indian Standard Time, the identifier is Asia/Kolkata. Use that name in configuration files and commands. The abbreviation IST is not a portable configuration key and can be ambiguous outside the India context.

India’s offset

Asia/Kolkata displays an offset of +0530 (UTC+05:30). The expected status line on a correctly configured machine is similar to Time zone: Asia/Kolkata (IST, +0530).

Before you start

The procedure below assumes a normal VPS image that uses systemd. You need an SSH session or console with an account that can run commands through sudo, or a root shell. Changing the host time zone is a system-wide operation, so an ordinary unprivileged account cannot usually perform it.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Have administrative access: test it with sudo -v or confirm that you are logged in as root.
  • Confirm systemd is present: the timedatectl command is the standard interface on systemd systems.
  • Keep a second session open: changing a zone normally does not disconnect SSH, but a separate session gives you a recovery path if another configuration issue appears.
  • Check time-sensitive workloads: database jobs, certificates, monitoring, cron tasks and application logs may immediately begin displaying local time after the change.
  • Do not set the clock manually: the goal is to change the zone, not to change the current instant.

Change the time zone with timedatectl

1. Inspect the current configuration

Start by recording the current local time, UTC time, real-time-clock (RTC) value, zone and synchronization state:

timedatectl status

The output includes fields such as Local time, Universal time, RTC time, Time zone, System clock synchronized and NTP service. This baseline helps you distinguish a zone problem from a clock-synchronization problem later.

2. Confirm that the India zone is installed

Ask systemd for the names that can be passed to set-timezone, then filter for Kolkata:

timedatectl list-timezones | grep -i Kolkata

A timezone-data package supplies this list. A normal result contains:

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Asia/Kolkata

If the command returns nothing, do not substitute IST or invent a spelling. The image’s time-zone data is incomplete or unavailable, so install or repair the distribution’s documented timezone-data package before continuing. Package names and installation commands vary by distribution.

3. Set Asia/Kolkata

Run the systemd operation with administrative privileges:

sudo timedatectl set-timezone Asia/Kolkata

Systemd changes the system time-zone setting and updates the /etc/localtime link that programs use to find the active zone. The command changes how the system represents time; it does not set the clock to a new instant.

4. Verify the active zone

Use all three checks when configuring a production VPS:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
timedatectl
date
readlink -f /etc/localtime

timedatectl should report Asia/Kolkata (IST, +0530). The date command should show the current local time with an IST abbreviation and a +0530 offset. The final command should resolve to a zoneinfo path ending in Asia/Kolkata. The exact formatting of the other fields differs between systemd versions, so check the zone name and offset rather than trying to match every character.

How to read the verification output

Check What it tests Successful result
timedatectl The systemd time-zone setting and synchronization state Time zone: Asia/Kolkata (IST, +0530) or equivalent formatting
date The local-time view used by ordinary shell commands Current local time with IST and an offset of +0530
readlink -f /etc/localtime The zoneinfo file selected by the host A path resolving to the Asia/Kolkata zoneinfo entry

Compare Local time and Universal time in timedatectl. Their difference should be five hours and 30 minutes when both values are shown for the same instant. A difference in displayed values is expected; it is not evidence that the VPS clock was altered.

Distribution-specific notes

Ubuntu Server images

Ubuntu Server documents timedatectl as the interface for time-zone and clock settings. Follow the four-step procedure above. If the output indicates that a network time service is active, treat that service as a separate concern: the zone controls representation, while the service keeps the clock synchronized.

Red Hat Enterprise Linux images

Red Hat Enterprise Linux uses the same timedatectl set-timezone <time_zone> operation on systemd-based installations. Replace the placeholder with Asia/Kolkata, then perform the status, date and /etc/localtime checks.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Minimal or non-systemd images

Some very small images do not include systemd or timedatectl. There is no single fallback command that is safe for every such distribution. Use the image’s own documented timezone-data utility, ensure its timezone database is installed, and verify the resulting /etc/localtime target afterward. Avoid copying a command intended for a different distribution: the mechanism for selecting the zone and the package containing timezone data may differ.

If the VPS still shows UTC

Work through the symptom that matches what you see. Do not repeatedly set the zone without checking which layer is reporting UTC.

timedatectl says command not found

The image may not be systemd-based, or the utility may not be installed. Identify the distribution and its init system from the provider’s console or image documentation. Use that platform’s supported timezone-data tool, then resolve /etc/localtime and run date to confirm the result. Installing systemd solely to obtain timedatectl can change the behavior of a minimal image and is not a universal fix.

The zone list does not contain Asia/Kolkata

This normally means the timezone database is missing, damaged or deliberately omitted from a minimal image. Install or repair the distribution-provided timezone-data package, repeat timedatectl list-timezones, and only then set the zone. If the package manager cannot find timezone data, consult the image’s documentation rather than creating a hand-written zone file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

You receive an authorization or permission error

Run the command through sudo or from a root shell. If sudo is installed but your account is not allowed to run administrative commands, use the VPS console or ask the account administrator to make the change. A successful SSH login alone does not imply permission to alter the host-wide zone.

The command succeeds but a new shell still prints UTC

First run timedatectl, date and readlink -f /etc/localtime in that shell. If all three show Asia/Kolkata, the host setting is correct. A shell startup file, language runtime, service environment or application configuration may be explicitly selecting UTC. Inspect that program’s documented time-zone setting and restart only the affected service if it reads the zone at startup.

Logs or database records remain in UTC

Changing the host zone does not rewrite timestamps that were already stored or emitted. Existing log lines retain the format and zone chosen when they were created. Some daemons intentionally log in UTC for easier comparison across servers, and many applications have their own time-zone setting. Check the application’s configuration and its process environment before changing the host again.

A container still reports UTC

A container can have its own filesystem, timezone-data package and /etc/localtime. Changing the VPS host does not guarantee that every container changes its internal view. Apply the container image’s supported configuration and verify from inside the container. Do not modify a running container’s files manually if the setting is meant to be declared in its image or deployment configuration.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

The displayed time is wrong even though the zone is correct

Look at the synchronization fields in timedatectl. The time-zone operation does not discipline the clock. If the system clock is not synchronized, inspect the active network time service, its connectivity and its logs. On Ubuntu, chrony may be responsible for synchronization; other images may use a different service. Correcting synchronization is separate from selecting Asia/Kolkata.

/etc/localtime points somewhere unexpected

If timedatectl reports one zone but readlink -f /etc/localtime resolves to another, a manual file replacement or an image-specific mechanism may be overriding the systemd setting. Reapply the supported timedatectl operation, check the link again, and investigate configuration-management or boot-time scripts that rewrite it.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Time zone versus clock synchronization

These settings answer different questions:

Setting Purpose Typical evidence
Time zone Converts the system clock into local civil time for display and software that uses the host zone Asia/Kolkata, IST, +0530, and the /etc/localtime target
System clock Represents the current instant The relationship between Local time and Universal time
Network synchronization Corrects clock drift against a network time source System clock synchronized, NTP service, and the status of chrony, timesyncd or another NTP daemon
RTC mode Defines how the hardware real-time clock is interpreted at boot The RTC in local TZ field in timedatectl

Changing the first row does not configure the third row. If your VPS provider supplies a virtual RTC, the same rule applies: keep time synchronization and timezone selection as separate troubleshooting tracks.

Keep the RTC in UTC

Systemd’s timedatectl reference warns that maintaining the RTC in local time is not fully supported and can cause problems when time zones change or when daylight-saving adjustments are involved. Keep the RTC in UTC where possible. India does not currently use seasonal daylight-saving changes, but UTC RTC mode remains the safer convention for systemd hosts and for images that might later be moved or reconfigured.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Check the current mode in timedatectl. Do not change the RTC mode merely because you changed the host’s display zone. If a provider or operating system image manages the RTC policy, follow that platform’s documentation and make sure the setting is consistent across reboots.

A repeatable configuration checklist

  1. Open an administrative SSH or console session.
  2. Run timedatectl status and note the existing zone and synchronization state.
  3. Run timedatectl list-timezones | grep -i Kolkata and confirm Asia/Kolkata is available.
  4. Run sudo timedatectl set-timezone Asia/Kolkata.
  5. Run timedatectl, date and readlink -f /etc/localtime.
  6. Confirm the status line contains Asia/Kolkata, IST and +0530.
  7. Check synchronization separately if the displayed instant is inaccurate.
  8. Check application, container and logging settings if only one workload continues to show UTC.

Changing the zone back to UTC

If the VPS must use UTC again, use the same supported interface with the IANA identifier for UTC:

sudo timedatectl set-timezone UTC

Verify with timedatectl, date and readlink -f /etc/localtime. Reverting the display zone does not rewrite timestamps already stored by applications and does not repair a clock that is not synchronized.

Choosing the right approach

Situation Recommended action Verification
Systemd VPS with timezone data Use sudo timedatectl set-timezone Asia/Kolkata timedatectl, date, and readlink -f /etc/localtime
Systemd VPS without the Kolkata entry Repair the distribution’s timezone-data package, then set the zone The zone appears in list-timezones before setting it
Non-systemd or minimal image Use the image’s documented timezone-data utility Resolve /etc/localtime and run date
Host is correct but one application is UTC Inspect that application’s environment and configuration Compare the application output with host-level checks
Zone is correct but clock is inaccurate Inspect the active NTP or chrony service Review synchronization fields and service status

For the usual systemd-based Linux VPS, the complete fix is therefore one command followed by verification: set Asia/Kolkata, confirm the +0530 result, and investigate synchronization or application-specific UTC settings only if they remain separate symptoms.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.