我已将日期和时间设置设为使用“自动时区”,这反映在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
但它不会自动更新。今天我打开笔记本电脑,连接到一个全新的咖啡店互联网 wifi,它肯定在加利福尼亚,America/Los_Angeles (PST, -0800)
但我仍然在系统时钟上看到 EST。过去几个月我旅行了很多次,我的笔记本电脑始终没有更新时区。
我知道至少我的浏览器知道我在哪里,因为谷歌地图默认是我所在的街区。所以问题不在于我使用的互联网连接隐藏了我的位置。
我以为这样sudo systemctl restart systemd-timedated
就可以了,但是却没有效果。
timedatectl set-timezone America/New_York
我可以使用或快速更改时区,timedatectl set-timezone America/Los_Angeles
但我想知道是否有办法使用timedatectl
或其他工具来告诉 Ubuntu 找出我所在的时区。有点像“我很确定那是错的,你能再检查一下吗?”触发器或命令?
答案1
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"
}
在这里阅读关于 API 的更多信息:http://worldtimeapi.org/