Мои настройки даты и времени настроены на использование «автоматического часового пояса», что отражено в timedatectl
:
amanda@rajje:~$ timedatectl status
Local time: Fri 2019-11-15 14:01:29 EST
Universal time: Fri 2019-11-15 19:01:29 UTC
RTC time: Fri 2019-11-15 19:01:29
Time zone: America/New_York (EST, -0500)
System clock synchronized: yes
systemd-timesyncd.service active: yes
RTC in local TZ: no
Но он не обновляется сам. Сегодня я включил свой ноутбук и подключился к новому Wi-Fi интернет-кафе, который определенно находится в Калифорнии, также известной как America / Los_Angeles (PST, -0800)
, но я все еще вижу EST на моих системных часах. Я много путешествовал за последние несколько месяцев, и мой ноутбук постоянно не обновляет часовой пояс.
Я знаю, что по крайней мере мой браузер знает, где я нахожусь, потому что по умолчанию в Google Maps используется район, в котором я нахожусь. Так что проблема не в том, что я использую подключение к Интернету, которое скрывает мое местоположение.
Я думал, что sudo systemctl restart systemd-timedated
сделает это, но это не помогло.
Я могу быстро изменить часовой пояс с помощью timedatectl set-timezone America / New_York
или timedatectl set-timezone America / Los_Angeles
, но мне интересно, есть ли способ использовать timedatectl
или другой инструмент, чтобы просто указать Ubuntu выяснить, в каком часовом поясе я нахожусь.Что-то вроде "Я почти уверен, что это не так, не могли бы вы проверить еще раз?" триггер или команда?
curl "http://worldtimeapi.org/api/ip"
, Который возвратит json блоб данных как:
{
"week_number": 46,
"utc_offset": "-08:00",
"utc_datetime": "2019-11-15T20:30:02.492900+00:00",
"unixtime": 1573849802,
"timezone": "America/Los_Angeles",
"raw_offset": -28800,
"dst_until": null,
"dst_offset": 0,
"dst_from": null,
"dst": false,
"day_of_year": 319,
"day_of_week": 5,
"datetime": "2019-11-15T12:30:02.492900-08:00",
"client_ip": "******",
"abbreviation": "PST"
}
Read больше о API здесь: http://worldtimeapi.org/