- How do I change my timezone to UTC/GMT?
- Converting UTC Date and Time to Local Time in Linux
- Understanding Timezones in Linux
- Converting UTC to Local Time
- Setting Your Timezone
- Practical Examples
- Как изменить часовой пояс в Linux
- Посмотреть текущий часовой пояс
- Команда date
- Команда timedatectl
- ls -lh /etc/localtime
- Получить список доступных часовых поясов
- Утилита tzselect
- Утилита timedatectl
- Изменить часовой пояс
- Изменяем часовой пояс утилитой timedatectl
- Изменяем часовой пояс настройкой /etc/localtime
- Изменить часовой пояс только для одной программы или текущей сессии
- Изменить часовой пояс через графические утилиты
- Заключение
How do I change my timezone to UTC/GMT?
Any idea how I change from IST to GMT?
To switch to UTC, simply execute sudo dpkg-reconfigure tzdata , scroll to the bottom of the Continents list and select Etc or None of the above ; in the second list, select UTC . If you prefer GMT instead of UTC, it’s just above UTC in that list. 🙂
After I did what you wrote above, and changed the time zone, my server is still having the same wrong time, do I need to restart the system, or what?
From the command line in Ubuntu, the following link provides the trivial 1-line command: askubuntu.com/a/524362/182454
Simplicity! (KISS) Love it, Thanks! On a minimal Server install the other time Zones are not available, just UTC, so installing sudo apt install tzdata is a MUST!
sudo timedatectl set-timezone UTC
Will change your timezone to UTC system wide.
You can do timedatectl list-timezones to see all the available timezones.
Zones like Etc/GMT+6 are intentionally reversed for backwards compatibility with POSIX standards. See the comments in this file.
You should almost never need to use these zones. Instead you should be using a fully named time zone like America/New_York or Europe/London or whatever is appropriate for your location. Refer to the list here.
In the old Un*x style (SunOS, HPUX. ), you can do:
ln -fs /usr/share/zoneinfo/UTC /etc/localtime
Check the contents of /usr/share/zoneinfo to get the timezone you want/need.
For instance, Irish Summer Time (IST) can be defined as
-rw-r--r-- 1 root root 3661 Mar 13 22:18 /usr/share/zoneinfo/posix/Eire
lrwxrwxrwx 1 root root 13 Mar 13 22:18 /usr/share/zoneinfo/Europe/Dublin -> ../posix/Eire
However, the most important is to use a proper clock reference and a ntp daemon (openntpd for instance), as timezone is only used for displaying/converting the time to strings, not to store it (whatever the timezone, difference to 01/01/1970 is everywhere the same on Earth).
I can use this to change UTC to Asia/Kolkatta with.. sudo rm /etc/localtime (i had already this file so couldn’t create symlink with next command, so i deleted it first), sudo ln -s /usr/share/zoneinfo/Asia/Kolkata /etc/localtime . I think this seems to be a general solution.
Updated for 14.04 to present
View Time and Date Status:
$ timedatectl status Local time: Sun 2018-07-29 15:26:03 BST Universal time: Sun 2018-07-29 14:26:03 UTC RTC time: Sun 2018-07-29 14:26:03 Time zone: Europe/London (BST, +0100) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no
View List of Timezones:
Listed Timezones (425)
$ timedatectl list-timezones Africa/Abidjan Africa/Accra Africa/Addis_Ababa . Pacific/Tongatapu Pacific/Wake Pacific/Wallis UTC
Set Timezone to UTC:
$ timedatectl set-timezone UTC
View Time and Date Status:
$ timedatectl status Local time: Sun 2018-07-29 14:46:27 UTC Universal time: Sun 2018-07-29 14:46:27 UTC RTC time: Sun 2018-07-29 14:46:27 Time zone: UTC (UTC, +0000) System clock synchronized: yes systemd-timesyncd.service active: yes RTC in local TZ: no*
Converting UTC Date and Time to Local Time in Linux
When managing a Linux system, you may frequently come across timestamps recorded in Coordinated Universal Time (UTC). Understanding and converting these timestamps to your local time can be essential, particularly when troubleshooting system events or running time-specific commands.
This article will provide you a comprehensive guide to converting UTC date and time to local time in Linux, accompanied by practical examples.
Understanding Timezones in Linux
In Linux, timezones are typically defined in the /etc/localtime file. This file is often a symbolic link to a file located in the /usr/share/zoneinfo directory that corresponds to your timezone.
You can view the timezone set on your Linux system by running date in the terminal. The output will display the current time along with the timezone.
Converting UTC to Local Time
The basic command to convert a UTC date to local time in Linux is `date -d`, followed by the UTC date and time string.
Here’s how it works. Suppose you have the following UTC time: 2023-06-05 12:00:00 UTC. To convert this to your local time, you can use the following command:
date -d '2023-06-05 12:00:00 UTC'
This will output the date and time in the local timezone set on your system. Note that the input format must be as shown: YYYY-MM-DD HH:MM:SS.
Setting Your Timezone
If you find that your system’s timezone is not correctly set, you can change it. Here’s how you can do this:
- Check available timezones by listing the contents of the /usr/share/zoneinfo directory. You can do this with the command `ls /usr/share/zoneinfo`.
- Once you’ve found the correct timezone file, create a symbolic link to /etc/localtime using the `ln -sf` command. Here’s an example of how to set the timezone to Pacific Time:
ln -sf /usr/share/zoneinfo/America/Los_Angeles /etc/localtime
Now, when you run the `date -d` command with a UTC time, it will convert to Pacific Time.
Practical Examples
Let’s put this into practice with some examples.
date -d '2023-06-05 12:00:00 UTC'
ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
date -d '2023-06-05 12:00:00 UTC'
TZ="Asia/Kolkata" date -d '2023-06-05 12:00:00 UTC'
date -d '2023-06-05 12:00:00 UTC' '+%A, %B %d, %Y, %H:%M:%S'
Как изменить часовой пояс в Linux
Часовой пояс в Linux обычно настраивается во время установки системы. Иногда пользователю может потребоваться его изменить. Способ изменения часового пояса (его еще называют временной зоной) может зависеть от конкретного дистрибутива. Рассмотрим некоторые из способов изменения часового пояса.
Посмотреть текущий часовой пояс
Посмотреть текущий часовой пояс можно разными способами.
Команда date
Команда date выводит текущую дату, время и часовой пояс:
$ date Вт мар 12 19:01:33 MSK 2019
В выводе команды мы можем видеть, что текущая временная зона соответствует Москве — MSK .
Команда timedatectl
Утилита timedatectl применяется для настройки и получения информации о текущем системном времени. Она доступна в системах, использующих systemd.
Если выполнить команду timedatectl без параметров, то будет выведена информация о системных часах, а также часовой пояс (в поле Time zone ).
$ timedatectl Local time: Вт 2019-03-12 20:18:08 MSK Universal time: Вт 2019-03-12 17:18:08 UTC RTC time: Вт 2019-03-12 17:18:09 Time zone: Europe/Moscow (MSK, +0300) System clock synchronized: yes NTP service: active RTC in local TZ: no
ls -lh /etc/localtime
Файл /etc/localtime это символическая ссылка, которая указывает на текущий часовой пояс, используемый в системе.
Для просмотра можно воспользоваться командной:
$ ls -lh /etc/localtime lrwxrwxrwx 1 root root 35 мар 12 20:09 /etc/localtime -> ../usr/share/zoneinfo/Europe/Moscow
Получить список доступных часовых поясов
Утилита tzselect
Перед тем, как устанавливать часовой пояс, нужно понять, какое значение можно установить. Для этого можно воспользоваться утилитой tzselect .
После запуска утилита tzselect отображает список географических областей. Вы должны ввести номер области и нажать Enter . Затем появится список стран. Аналогично, нужно ввести номер страны. Появится список городов. Вводим номер города. В результате вы сможете увидеть название вашей временной зоны.
tzselect Please identify a location so that time zone rules can be set correctly. Please select a continent, ocean, "coord", or "TZ". 1) Africa 2) Americas 3) Antarctica 4) Asia 5) Atlantic Ocean 6) Australia 7) Europe 8) Indian Ocean 9) Pacific Ocean 10) coord - I want to use geographical coordinates. 11) TZ - I want to specify the time zone using the Posix TZ format. #? 7
Утилита timedatectl
Утилита timedatectl поддерживает опцию list-timezones . Выполнив следующую команду можно просмотреть список всех доступных временных зон:
timedatectl list-timezones
Можно воспользоваться grep и ограничить область поиска. Например, выведем список временных зон только для Европы:
timedatectl list-timezones | grep Europe | less
Изменить часовой пояс
Изменяем часовой пояс утилитой timedatectl
Напомним, что утилита timedatectl доступна только для систем, использующих systemd. Если у вас нет утилиты timedatectl, то используйте способ описанный в следующем параграфе.
Для установки часового пояса с помощью утилиты timedatectl нужно выполнить команду:
timedatectl set-timezone Europe/Moscow
Во время ввода часового пояса можно нажимать дважды клавишу Tab , чтобы получить список часовых поясов.
Изменяем часовой пояс настройкой /etc/localtime
Данный способ наиболее универсальный и работает в большинстве дистрибутивов Linux.
Необходимо создать символическую ссылку /etc/localtime , чтобы она указывала на файл нужной временной зоны. Файлы временных зон хранятся в каталоге /usr/share/zoneinfo/ . Каждая зона имеет путь /usr/share/zoneinfo/Название/Зоны . Например, для Москвы это /usr/share/zoneinfo/Europe/Moscow .
Итак создадим ссылку на нужный файл временной зоны:
sudo unlink /etc/localtime sudo ln -s /usr/share/zoneinfo/Europe/Moscow /etc/localtime
Чтобы проверить, что временная зона установлена верно, можно выполнить команду date :
Изменить часовой пояс только для одной программы или текущей сессии
Чтобы установить часовой пояс для отдельной программы можно задать его через переменную окружения TZ :
TZ=America/Chicago программа
Чтобы установить часовой пояс только для текущей сессии в терминале, используется команда:
Изменить часовой пояс через графические утилиты
Выше мы описали способ изменения часового пояса, используя средства и утилиты командной строки. В большинстве дистрибутивах обычно есть графическая программа настройки, через которую можно с легкостью изменить часовой пояс.
Если вы работаете в Gnome, откройте Параметры системы .
Перейдите на вкладку Сведения о системе , далее вкладка Дата и время (в зависимости от версии Gnome названия пунктов могут немного отличаться). Нажмите на надпись Часовой пояс .
Откроется карта с возможностью интерактивного выбора часового пояса. Выберите мышкой нужный регион на карте.
Заключение
Мы рассмотрели как изменить часовой пояс в Linux, как определить текущий часовой пояс и просмотреть список доступных временных зон. Большинству пользователей подойдет способ с использованием графической программы для изменения Параметров системы.