Logo

Configuring Time Zone on Linux

Configuring Time Zone on Linux

Complete guide to configure date, time, and timezone on your Linux server

Introduction and Concepts

Why Time Zone Matters

Correct timezone configuration is essential for:

  • System logs: accurate event timestamps
  • Scheduled tasks (cron): execution at the right time
  • SSL certificates: expiration date validation
  • Databases: timestamp consistency
  • Applications: correct time display to users
┌─────────────────────────────────────────────────────────────────────────────┐
│                    IMPORTANCE OF TIME ZONE                                  │
└─────────────────────────────────────────────────────────────────────────────┘

                    MISCONFIGURED SERVER                PROPERLY CONFIGURED
                    ────────────────────                ────────────────────

    ┌─────────────────────────────┐        ┌─────────────────────────────┐
    │  System time: 14:00 UTC     │        │  System time: 14:00 UTC     │
    │  Timezone: UTC (incorrect)  │        │  Timezone: America/New_York │
    └──────────────┬──────────────┘        └──────────────┬──────────────┘
                   │                                      │
         ┌─────────┴─────────┐                  ┌─────────┴─────────┐
         ▼                   ▼                  ▼                   ▼
    ┌─────────┐        ┌─────────┐        ┌─────────┐        ┌─────────┐
    │  Cron   │        │  Logs   │        │  Cron   │        │  Logs   │
    │ 14:00   │        │ 14:00   │        │ 09:00   │        │ 09:00   │
    │  (UTC)  │        │  (UTC)  │        │  (EST)  │        │  (EST)  │
    └─────────┘        └─────────┘        └─────────┘        └─────────┘
         │                   │                  │                   │
         ▼                   ▼                  ▼                   ▼
    ┌─────────────────────────────┐        ┌─────────────────────────────┐
    │  ❌ Tasks offset by 5 hours │        │  ✅ Tasks at local time     │
    │  ❌ Logs hard to read       │        │  ✅ Consistent logs         │
    │  ❌ Complex debugging       │        │  ✅ Easy debugging          │
    └─────────────────────────────┘        └─────────────────────────────┘

Key Concepts

┌─────────────────────────────────────────────────────────────────────────────┐
│                    TIME CONCEPTS IN LINUX                                   │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────────────────────────────────────────────────────────┐
│                                                                             │
│  UTC (Coordinated Universal Time)                                          │
│  ─────────────────────────────────                                          │
│  • Universal time reference                                                │
│  • Never changes (no daylight saving)                                      │
│  • Base for all time zones                                                 │
│                                                                             │
│  ────────────────────────────────────────────────────────────────────────   │
│                                                                             │
│  Time Zone                                                                 │
│  ─────────                                                                  │
│  • Offset from UTC                                                         │
│  • Format: Continent/City (e.g., America/New_York)                         │
│  • Automatically handles daylight saving time (DST)                        │
│                                                                             │
│  ────────────────────────────────────────────────────────────────────────   │
│                                                                             │
│  System Clock vs Hardware Clock                                            │
│  ────────────────────────────────                                           │
│  • System: managed by Linux kernel (in memory)                             │
│  • Hardware (RTC): in BIOS, runs even when powered off                     │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Time Architecture in Linux

Overview

┌─────────────────────────────────────────────────────────────────────────────┐
│                    LINUX TIME ARCHITECTURE                                  │
└─────────────────────────────────────────────────────────────────────────────┘

                           NTP SERVERS
                           (time.google.com, etc.)
                                  │
                                  │ Synchronization
                                  ▼
    ┌─────────────────────────────────────────────────────────────────────┐
    │                         USER SPACE                                  │
    │                                                                     │
    │   ┌───────────────────────────────────────────────────────────┐    │
    │   │                    timedatectl                            │    │
    │   │              (Main interface)                             │    │
    │   │                                                           │    │
    │   │  • Display/modify time zone                              │    │
    │   │  • Enable/disable NTP                                    │    │
    │   │  • Modify date and time                                  │    │
    │   └───────────────────────────────────────────────────────────┘    │
    │                              │                                      │
    │              ┌───────────────┼───────────────┐                      │
    │              ▼               ▼               ▼                      │
    │   ┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐          │
    │   │  systemd-       │ │   chronyd   │ │     ntpd        │          │
    │   │  timesyncd      │ │             │ │                 │          │
    │   │  (default NTP   │ │  (NTP       │ │  (classic NTP   │          │
    │   │   client)       │ │   client)   │ │   client)       │          │
    │   └─────────────────┘ └─────────────┘ └─────────────────┘          │
    │                              │                                      │
    └──────────────────────────────┼──────────────────────────────────────┘
                                   │
    ═══════════════════════════════╪════════════════════════════════════════
                                   │
    ┌──────────────────────────────┼──────────────────────────────────────┐
    │                              ▼              KERNEL SPACE            │
    │   ┌───────────────────────────────────────────────────────────┐    │
    │   │                 SYSTEM CLOCK                              │    │
    │   │              (System Clock / Kernel)                      │    │
    │   │                                                           │    │
    │   │  • Counts seconds since January 1, 1970                  │    │
    │   │  • Stored in memory (lost on shutdown)                   │    │
    │   │  • Internal time in UTC                                  │    │
    │   └───────────────────────────────────────────────────────────┘    │
    │                              │                                      │
    └──────────────────────────────┼──────────────────────────────────────┘
                                   │
                                   ▼
    ┌─────────────────────────────────────────────────────────────────────┐
    │                    HARDWARE CLOCK (RTC)                             │
    │                         (BIOS/UEFI)                                 │
    │                                                                     │
    │  • Battery powered (runs when server is off)                       │
    │  • Synchronized at boot with system clock                          │
    │  • Can be in UTC or local time                                     │
    └─────────────────────────────────────────────────────────────────────┘

Configuration Files

┌─────────────────────────────────────────────────────────────────────────────┐
│                    CONFIGURATION FILES                                      │
└─────────────────────────────────────────────────────────────────────────────┘

    /etc/
    ├── localtime          →  Symbolic link to active timezone
    │                          (points to /usr/share/zoneinfo/...)
    │
    ├── timezone           →  Text file containing timezone name
    │                          (e.g., "America/New_York")
    │
    └── systemd/
        └── timesyncd.conf →  NTP client configuration

    /usr/share/zoneinfo/
    ├── Africa/
    │   ├── Cairo
    │   ├── Johannesburg
    │   └── ...
    ├── America/
    │   ├── New_York       ←  US Eastern timezone
    │   ├── Los_Angeles    ←  US Pacific timezone
    │   ├── Chicago        ←  US Central timezone
    │   └── ...
    ├── Asia/
    │   ├── Tokyo
    │   ├── Shanghai
    │   └── ...
    ├── Europe/
    │   ├── London
    │   ├── Paris
    │   ├── Berlin
    │   └── ...
    └── ...

    Symbolic link example:
    /etc/localtime → /usr/share/zoneinfo/America/New_York

Prerequisites

System Requirements

┌─────────────────────────────────────────────────────────────────┐
│                    SYSTEM PREREQUISITES                         │
├─────────────────────┬───────────────────────────────────────────┤
│  Element            │  Required                                 │
├─────────────────────┼───────────────────────────────────────────┤
│  System             │  Ubuntu 18.04+ / Debian 9+ / CentOS 7+   │
│  Access             │  root or sudo                             │
│  Systemd            │  Yes (timedatectl requires systemd)      │
│  Network            │  Internet connection (for NTP)           │
└─────────────────────┴───────────────────────────────────────────┘

Pre-flight Checks

# Verify systemd is installed
systemctl --version

# Verify sudo privileges
sudo whoami

# Check network connectivity (for NTP)
ping -c 3 time.google.com

Check Current Configuration

timedatectl Command

# Display all time information
timedatectl
┌─────────────────────────────────────────────────────────────────────────────┐
│                    TIMEDATECTL OUTPUT                                       │
└─────────────────────────────────────────────────────────────────────────────┘

$ timedatectl

               Local time: Sat 2025-01-25 10:30:45 EST
           Universal time: Sat 2025-01-25 15:30:45 UTC
                 RTC time: Sat 2025-01-25 15:30:45
                Time zone: America/New_York (EST, -0500)
System clock synchronized: yes
              NTP service: active
          RTC in local TZ: no

┌─────────────────────────────────────────────────────────────────────────────┐
│  FIELD EXPLANATION:                                                         │
│                                                                             │
│  Local time      → Local time (with timezone applied)                      │
│  Universal time  → UTC time (world reference)                              │
│  RTC time        → Hardware clock time (BIOS)                              │
│  Time zone       → Current timezone (Continent/City)                       │
│  System clock synchronized → Is NTP sync active?                           │
│  NTP service     → Is sync service active?                                 │
│  RTC in local TZ → Is hardware clock in local time?                        │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Other Verification Methods

# Display date and time
date

# Display only timezone
cat /etc/timezone

# See localtime symlink
ls -la /etc/localtime

# Display UTC time
date -u

Configure Time Zone

Step 1: List Available Time Zones

# List all time zones
timedatectl list-timezones

# Filter by region (America)
timedatectl list-timezones | grep America

# Filter by city (New York)
timedatectl list-timezones | grep New_York

# Filter by continent
timedatectl list-timezones | grep Europe
timedatectl list-timezones | grep Asia
timedatectl list-timezones | grep Pacific
┌─────────────────────────────────────────────────────────────────────────────┐
│                    COMMON TIME ZONES                                        │
└─────────────────────────────────────────────────────────────────────────────┘

┌─────────────────────────┬───────────┬────────────────────────────────────────┐
│  Time Zone              │  Offset   │  Country/Region                        │
├─────────────────────────┼───────────┼────────────────────────────────────────┤
│  America/New_York       │  UTC-5/-4 │  US Eastern (NY, FL, GA)              │
│  America/Chicago        │  UTC-6/-5 │  US Central (IL, TX)                  │
│  America/Denver         │  UTC-7/-6 │  US Mountain (CO, AZ)                 │
│  America/Los_Angeles    │  UTC-8/-7 │  US Pacific (CA, WA, OR)              │
│  America/Anchorage      │  UTC-9/-8 │  Alaska                               │
│  Pacific/Honolulu       │  UTC-10   │  Hawaii                               │
├─────────────────────────┼───────────┼────────────────────────────────────────┤
│  America/Toronto        │  UTC-5/-4 │  Canada Eastern                       │
│  America/Vancouver      │  UTC-8/-7 │  Canada Pacific                       │
│  America/Montreal       │  UTC-5/-4 │  Quebec, Canada                       │
├─────────────────────────┼───────────┼────────────────────────────────────────┤
│  Europe/London          │  UTC+0/+1 │  United Kingdom, Ireland              │
│  Europe/Paris           │  UTC+1/+2 │  France, Belgium                      │
│  Europe/Berlin          │  UTC+1/+2 │  Germany, Austria                     │
├─────────────────────────┼───────────┼────────────────────────────────────────┤
│  Asia/Tokyo             │  UTC+9    │  Japan                                │
│  Asia/Shanghai          │  UTC+8    │  China                                │
│  Asia/Singapore         │  UTC+8    │  Singapore                            │
│  Asia/Dubai             │  UTC+4    │  UAE                                  │
│  Asia/Kolkata           │  UTC+5:30 │  India                                │
├─────────────────────────┼───────────┼────────────────────────────────────────┤
│  Australia/Sydney       │  UTC+10/11│  Australia Eastern                    │
│  Australia/Perth        │  UTC+8    │  Australia Western                    │
└─────────────────────────┴───────────┴────────────────────────────────────────┘

Step 2: Set the Time Zone

# Set timezone to New York
sudo timedatectl set-timezone America/New_York

# Verify the change
timedatectl
┌─────────────────────────────────────────────────────────────────────────────┐
│                    TIMEZONE CHANGE PROCESS                                  │
└─────────────────────────────────────────────────────────────────────────────┘

    BEFORE                                   AFTER
    ──────                                   ─────

    Time zone: UTC (+0000)                   Time zone: America/New_York (EST, -0500)

    ┌─────────────────────┐                  ┌─────────────────────┐
    │ /etc/localtime      │                  │ /etc/localtime      │
    │         │           │                  │         │           │
    │         ▼           │                  │         ▼           │
    │ /usr/share/zoneinfo/│    ────────▶     │ /usr/share/zoneinfo/│
    │     Etc/UTC         │   timedatectl    │  America/New_York   │
    └─────────────────────┘   set-timezone   └─────────────────────┘

    Local time: 15:30:00                     Local time: 10:30:00
                                             (-5 hours in winter)

Method 2: Using dpkg-reconfigure (Debian/Ubuntu)

# Interactive interface
sudo dpkg-reconfigure tzdata
┌─────────────────────────────────────────────────────────────────────────────┐
│                    DPKG-RECONFIGURE INTERFACE                               │
└─────────────────────────────────────────────────────────────────────────────┘

    ┌────────────────────────────────────────────────────────────────┐
    │                    Configuring tzdata                          │
    │                                                                │
    │  Please select the geographic area in which you live.          │
    │                                                                │
    │           Africa                                               │
    │         ▶ America                                              │
    │           Antarctica                                           │
    │           Asia                                                 │
    │           Atlantic                                             │
    │           Australia                                            │
    │           Europe                                               │
    │           Indian                                               │
    │           Pacific                                              │
    │                                                                │
    │                    <Ok>            <Cancel>                    │
    └────────────────────────────────────────────────────────────────┘

                                   │
                                   ▼

    ┌────────────────────────────────────────────────────────────────┐
    │                    Configuring tzdata                          │
    │                                                                │
    │  Please select the city or region corresponding to your        │
    │  time zone.                                                    │
    │                                                                │
    │           New_Orleans                                          │
    │         ▶ New_York                                             │
    │           Nipigon                                              │
    │           Nome                                                 │
    │                                                                │
    │                    <Ok>            <Cancel>                    │
    └────────────────────────────────────────────────────────────────┘
# Remove old link
sudo rm /etc/localtime

# Create new link
sudo ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

# Update /etc/timezone
echo "America/New_York" | sudo tee /etc/timezone

# Verify
date

NTP Synchronization

Understanding NTP

┌─────────────────────────────────────────────────────────────────────────────┐
│                    HOW NTP SYNCHRONIZATION WORKS                            │
└─────────────────────────────────────────────────────────────────────────────┘

                         NTP STRATUM 1 SERVERS
                    (Atomic clocks, GPS, etc.)
                                  │
                    ┌─────────────┼─────────────┐
                    ▼             ▼             ▼
             ┌───────────┐ ┌───────────┐ ┌───────────┐
             │ Stratum 2 │ │ Stratum 2 │ │ Stratum 2 │
             │  Server   │ │  Server   │ │  Server   │
             └─────┬─────┘ └─────┬─────┘ └─────┬─────┘
                   │             │             │
                   └─────────────┼─────────────┘
                                 │
              ┌──────────────────┼──────────────────┐
              ▼                  ▼                  ▼
    ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
    │ time.google.com  │ │  pool.ntp.org    │ │ time.cloudflare  │
    │    Stratum 2-3   │ │    Stratum 2-3   │ │    Stratum 2-3   │
    └────────┬─────────┘ └────────┬─────────┘ └────────┬─────────┘
             │                    │                    │
             └────────────────────┼────────────────────┘
                                  │
                                  ▼
                    ┌─────────────────────────┐
                    │    YOUR SERVER          │
                    │                         │
                    │  systemd-timesyncd      │
                    │       or chronyd        │
                    │       or ntpd           │
                    │                         │
                    │  ┌───────────────────┐  │
                    │  │  System Clock     │  │
                    │  │   Synchronized    │  │
                    │  └───────────────────┘  │
                    └─────────────────────────┘

    Typical accuracy: a few milliseconds

Enable NTP Synchronization

# Enable NTP synchronization
sudo timedatectl set-ntp true

# Check status
timedatectl

# See detailed service status
systemctl status systemd-timesyncd

Configure NTP Servers

# Edit configuration
sudo nano /etc/systemd/timesyncd.conf
# /etc/systemd/timesyncd.conf

[Time]
# Primary NTP servers
NTP=time.google.com time.cloudflare.com

# Fallback servers
FallbackNTP=0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org
# Restart service
sudo systemctl restart systemd-timesyncd

# Check synchronization
timedatectl timesync-status
┌─────────────────────────────────────────────────────────────────────────────┐
│                    TIMESYNC-STATUS OUTPUT                                   │
└─────────────────────────────────────────────────────────────────────────────┘

$ timedatectl timesync-status

       Server: 216.239.35.0 (time.google.com)
Poll interval: 34min 8s (min: 32s; max 34min 8s)
         Leap: normal
      Version: 4
      Stratum: 1
    Reference: GOOG
    Precision: 1us (-20)
Root distance: 335us (max: 5s)
       Offset: +2.156ms
        Delay: 15.533ms
       Jitter: 1.234ms
 Packet count: 12

Manual Configuration

Manually Modify Date and Time

┌─────────────────────────────────────────────────────────────────────────────┐
│  ⚠️  WARNING                                                                │
│                                                                             │
│  To manually modify date/time, you MUST first                              │
│  disable NTP synchronization!                                              │
│                                                                             │
│  Otherwise, the system will automatically correct your changes.            │
└─────────────────────────────────────────────────────────────────────────────┘
# 1. Disable NTP
sudo timedatectl set-ntp false

# 2. Modify date and time
# Format: YYYY-MM-DD HH:MM:SS
sudo timedatectl set-time "2025-01-25 10:30:00"

# OR modify only time
sudo timedatectl set-time "10:30:00"

# OR modify only date
sudo timedatectl set-time "2025-01-25"

# 3. Verify
timedatectl

# 4. Re-enable NTP (recommended)
sudo timedatectl set-ntp true

Using the date Command

# Display current date
date

# Display in custom format
date "+%Y-%m-%d %H:%M:%S"

# Modify date (requires NTP disabled)
sudo date -s "2025-01-25 10:30:00"

# Modify only time
sudo date +%T -s "10:30:00"

Hardware Clock (RTC)

Understanding the RTC Clock

┌─────────────────────────────────────────────────────────────────────────────┐
│                    SYSTEM CLOCK vs HARDWARE CLOCK                           │
└─────────────────────────────────────────────────────────────────────────────┘

    ┌─────────────────────────────────────────────────────────────────────┐
    │                    SYSTEM CLOCK                                     │
    │                    (System Clock)                                   │
    │                                                                     │
    │  • Managed by Linux kernel                                         │
    │  • Stored in RAM                                                   │
    │  • Lost on shutdown                                                │
    │  • Internal time in UTC                                            │
    │  • Converted to local time for display                             │
    └─────────────────────────────────────────────────────────────────────┘
                                   │
                                   │  hwclock --systohc
                                   │  (system → hardware)
                                   │
                                   │  hwclock --hctosys
                                   │  (hardware → system)
                                   ▼
    ┌─────────────────────────────────────────────────────────────────────┐
    │                    HARDWARE CLOCK                                   │
    │                    (RTC - Real Time Clock)                         │
    │                                                                     │
    │  • In BIOS/UEFI                                                    │
    │  • Battery powered (CR2032 coin cell)                              │
    │  • Runs when server is off                                         │
    │  • Can be in UTC or local time                                     │
    │  • Used at boot to initialize system clock                         │
    └─────────────────────────────────────────────────────────────────────┘

hwclock Command

# Display hardware clock time
sudo hwclock --show

# Sync hardware clock from system
sudo hwclock --systohc

# Sync system from hardware clock
sudo hwclock --hctosys

# Set hardware clock to UTC (recommended)
sudo hwclock --systohc --utc

# Set hardware clock to local time
sudo hwclock --systohc --localtime
┌─────────────────────────────────────────────────────────────────────────────┐
│                    RTC IN UTC vs LOCAL TIME                                 │
└─────────────────────────────────────────────────────────────────────────────┘

    RTC IN UTC (Recommended)                 RTC IN LOCAL TIME
    ────────────────────────                 ─────────────────

    ✅ No issues with                        ❌ Problems with
       daylight saving time                     daylight saving (DST)

    ✅ Compatible with Linux                 ❌ Conflicts with Windows
       dual-boot                                (which uses local time)

    ✅ Standard for servers                  ❌ Possible offsets

    ✅ Consistent regardless                 ❌ Depends on timezone
       of configuration

Troubleshooting

Common Issues

┌─────────────────────────────────────────────────────────────────────────────┐
│                    TROUBLESHOOTING DECISION TREE                            │
└─────────────────────────────────────────────────────────────────────────────┘

                    ┌─────────────────────────┐
                    │   Time is incorrect     │
                    └───────────┬─────────────┘
                                │
            ┌───────────────────┼───────────────────┐
            ▼                   ▼                   ▼
    ┌───────────────┐   ┌───────────────┐   ┌───────────────┐
    │ Off by a few  │   │ Completely    │   │ Time correct  │
    │ seconds       │   │ wrong         │   │ but wrong     │
    │               │   │               │   │ timezone      │
    └───────┬───────┘   └───────┬───────┘   └───────┬───────┘
            │                   │                   │
            ▼                   ▼                   ▼
    ┌───────────────┐   ┌───────────────┐   ┌───────────────┐
    │ Check NTP     │   │ Check RTC     │   │ Change        │
    │ timedatectl   │   │ hwclock --show│   │ timezone      │
    │ set-ntp true  │   │               │   │               │
    └───────────────┘   └───────────────┘   └───────────────┘

Diagnostic Commands

# Check full status
timedatectl status

# Check NTP service
systemctl status systemd-timesyncd

# View synchronization logs
journalctl -u systemd-timesyncd

# Check hardware clock
sudo hwclock --show

# Compare with NTP server
ntpdate -q pool.ntp.org

# Check timezone file
cat /etc/timezone

# Check localtime link
ls -la /etc/localtime

Problem Resolution

# Problem: NTP not synchronizing
# Solution:
sudo systemctl restart systemd-timesyncd
sudo timedatectl set-ntp true

# Problem: Timezone not changing
# Solution:
sudo timedatectl set-timezone America/New_York
sudo systemctl restart systemd-timesyncd

# Problem: RTC clock offset
# Solution:
sudo hwclock --systohc --utc

# Problem: "Failed to set time" error
# Solution: Disable NTP first
sudo timedatectl set-ntp false
sudo timedatectl set-time "2025-01-25 10:30:00"

Best Practices

Recommendations

┌─────────────────────────────────────────────────────────────────────────────┐
│                    BEST PRACTICES                                           │
└─────────────────────────────────────────────────────────────────────────────┘

  ✅ Always enable NTP synchronization on servers

  ✅ Use UTC for hardware clock (RTC)

  ✅ Configure correct timezone during installation

  ✅ Use reliable NTP servers (Google, Cloudflare, pool.ntp.org)

  ✅ Regularly check synchronization (monitoring)

  ✅ Document chosen timezone for the team

  ✅ For critical applications, use UTC timestamps

  ✅ Sync all servers in a cluster to the same NTP

Configuration Checklist

┌─────────────────────────────────────────────────────────────────────────────┐
│                    CHECKLIST                                                │
└─────────────────────────────────────────────────────────────────────────────┘

  [ ] Correct timezone configured
  [ ] NTP enabled and synchronized
  [ ] RTC clock in UTC
  [ ] NTP servers configured
  [ ] systemd-timesyncd service active
  [ ] Verify: timedatectl shows "System clock synchronized: yes"

Command Reference

┌─────────────────────────────────────────────────────────────────────────────┐
│                    COMMAND CHEAT SHEET                                      │
└─────────────────────────────────────────────────────────────────────────────┘

┌────────────────────────────────────────┬────────────────────────────────────┐
│  Command                               │  Description                       │
├────────────────────────────────────────┼────────────────────────────────────┤
│  timedatectl                           │  Display configuration             │
│  timedatectl list-timezones            │  List time zones                   │
│  timedatectl list-timezones | grep X   │  Filter time zones                 │
├────────────────────────────────────────┼────────────────────────────────────┤
│  sudo timedatectl set-timezone X       │  Set time zone                     │
│  sudo timedatectl set-ntp true         │  Enable NTP                        │
│  sudo timedatectl set-ntp false        │  Disable NTP                       │
│  sudo timedatectl set-time "..."       │  Set date/time manually            │
├────────────────────────────────────────┼────────────────────────────────────┤
│  date                                  │  Display date/time                 │
│  date -u                               │  Display in UTC                    │
│  sudo date -s "..."                    │  Modify date/time                  │
├────────────────────────────────────────┼────────────────────────────────────┤
│  sudo hwclock --show                   │  Display RTC time                  │
│  sudo hwclock --systohc                │  Sync system → RTC                 │
│  sudo hwclock --hctosys                │  Sync RTC → system                 │
├────────────────────────────────────────┼────────────────────────────────────┤
│  systemctl status systemd-timesyncd    │  NTP service status                │
│  journalctl -u systemd-timesyncd       │  NTP service logs                  │
└────────────────────────────────────────┴────────────────────────────────────┘

Practical Examples

US East Coast Server

# Complete configuration for US East Coast
sudo timedatectl set-timezone America/New_York
sudo timedatectl set-ntp true
sudo hwclock --systohc --utc
timedatectl

US West Coast Server

# Configuration for US West Coast
sudo timedatectl set-timezone America/Los_Angeles
sudo timedatectl set-ntp true
timedatectl

Multi-Regional Server (UTC)

# For a server serving multiple regions, use UTC
sudo timedatectl set-timezone UTC
sudo timedatectl set-ntp true
timedatectl

UK Server

# Configuration for United Kingdom
sudo timedatectl set-timezone Europe/London
sudo timedatectl set-ntp true
timedatectl

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members