=Start=
缘由:
如题,今天不知道什么时候出现的这个情况(搞得我都有点时间错乱了)。按照网上的一些方法操作了也不行,最后是通过命令解决的,在此记录一下,方便后面有需要的时候参考。
正文:
参考解答:
通过命令看看日期时间信息:
$ date
2024年 5月16日 星期四 18时33分21秒 +0630
实际北京时间是:
2024年 5月16日 星期四 20时03分
差了1个半小时。能明显看出来是时区错了(北京是+0800,现在是+0630)
但是通过:
系统设置 – 通用 – 日期与时间 进去手动打开/关闭【自动设定日期与时间】功能也不行。来源是默认的(Apple (time.apple.com.))
最后是通过 systemsetup
命令处理好的:
$ sudo systemsetup -listtimezones | grep -i shanghai
$
$ sudo systemsetup -settimezone Asia/Shanghai
2024-05-16 18:46:07.261 systemsetup[2765:50595] ### Error:-99 File:/AppleInternal/Library/BuildRoots/91a344b1-f985-11ee-b563-fe8bc7981bff/Library/Caches/com.apple.xbs/Sources/Admin/InternetServices.m Line:379
Set TimeZone: Asia/Shanghai
$
$ sudo systemsetup -gettimezone
Time Zone: Asia/Shanghai
$
$ man systemsetup
...
systemsetup – configuration tool for certain machine settings in System Preferences.
systemsetup - 在系统偏好设置中用于某些机器设置的配置工具。
...
$
$ sudo systemsetup -printCommands
systemsetup -getdate
systemsetup -setdate <mm:dd:yy>
systemsetup -gettime
systemsetup -settime <hh:mm:ss>
systemsetup -gettimezone
systemsetup -settimezone <timezone>
systemsetup -listtimezones
systemsetup -getusingnetworktime
systemsetup -setusingnetworktime <on off>
systemsetup -getnetworktimeserver
systemsetup -setnetworktimeserver <timeserver>
systemsetup -getsleep
systemsetup -setsleep <minutes>
systemsetup -getcomputersleep
systemsetup -setcomputersleep <minutes>
systemsetup -getdisplaysleep
systemsetup -setdisplaysleep <minutes>
systemsetup -getharddisksleep
systemsetup -setharddisksleep <minutes>
systemsetup -getwakeonmodem
systemsetup -setwakeonmodem <on off>
systemsetup -getwakeonnetworkaccess
systemsetup -setwakeonnetworkaccess <on off>
systemsetup -getrestartpowerfailure
systemsetup -setrestartpowerfailure <on off>
systemsetup -getrestartfreeze
systemsetup -setrestartfreeze <on off>
systemsetup -getallowpowerbuttontosleepcomputer
systemsetup -setallowpowerbuttontosleepcomputer <on off>
systemsetup -getremotelogin
systemsetup -setremotelogin <on off>
systemsetup -getremoteappleevents
systemsetup -setremoteappleevents <on off>
systemsetup -getcomputername
systemsetup -setcomputername <computername>
systemsetup -getlocalsubnetname
systemsetup -setlocalsubnetname <name>
systemsetup -getstartupdisk
systemsetup -setstartupdisk <disk>
systemsetup -liststartupdisks
systemsetup -getwaitforstartupafterpowerfailure
systemsetup -setwaitforstartupafterpowerfailure <seconds>
systemsetup -getdisablekeyboardwhenenclosurelockisengaged
systemsetup -setdisablekeyboardwhenenclosurelockisengaged <yes no>
systemsetup -version
systemsetup -help
systemsetup -printCommands
一、NTP 是什么?
NTP 是网络时间协议(Network Time Protocol),它用来同步网络设备【如计算机、手机】的时间的协议。
二、NTP 实现什么目的?
目的很简单,就是为了提供准确时间。因为我们的手表、手机、电脑等设备,经常会跑着跑着时间就出现了误差,或快或慢的少几秒,时间长了甚至误差过分钟。
三、NTP 服务器列表
Windows系统上自带的两个: time.windows.com 和 time.nist.gov
MacOS上自带的两个: time.apple.com 和 time.asia.apple.com
NTP授时快速域名服务: cn.ntp.org.cn
中国科学院国家授时中心: ntp.ntsc.ac.cn
开源NTP服务器: cn.pool.ntp.org
1、阿里云授时服务器
ntp.aliyun.com2、腾讯云授时服务器
time1.cloud.tencent.com
time2.cloud.tencent.com
time3.cloud.tencent.com
time4.cloud.tencent.com
time5.cloud.tencent.com3、国内大学授时服务器
ntp.tuna.tsinghua.edu.cn 清华大学(ipv4/ipv6)3、国外授时服务器
苹果提供的授时服务器
time1.apple.com
time2.apple.com
time3.apple.com
time4.apple.com
time5.apple.com
time6.apple.com
time7.apple.comGoogle提供的授时服务器
time1.google.com
time2.google.com
time3.google.com
time4.google.com
参考链接:
No option to change time zone [duplicate] #实测有用
https://apple.stackexchange.com/questions/457075/no-option-to-change-time-zone
Macbook incorrectly sets date time based on my location
https://apple.stackexchange.com/questions/451143/macbook-incorrectly-sets-date-time-based-on-my-location
How to Change Your Time Zone on Mac?
https://testingbot.com/software-testing-questions/how-to-change-your-time-zone-on-mac
如果无法在 Apple 设备上更改时间或时区
https://support.apple.com/zh-cn/101619
国内常用NTP服务器地址
https://www.jianshu.com/p/28864ab7fdd9
=END=
《 “macOS Sonoma 14.5 系统时间不对” 》 有 3 条评论
macOS系统中执行 date 命令显示有问题
`
日期是对的,月份和星期几不对,具体显示如下:
$ date
Sex 9 Ago 2024 17:59:52 CST
查看时区是对的:
$ sudo systemsetup -gettimezone
Time Zone: Asia/Shanghai
后来根据 Ago 和 Sex 定位到问题出在 环境变量-LANG 这里:
$ locale
LANG=”pt_BR.UTF-8″
LC_COLLATE=”pt_BR.UTF-8″
LC_CTYPE=”pt_BR.UTF-8″
LC_MESSAGES=”pt_BR.UTF-8″
LC_MONETARY=”pt_BR.UTF-8″
LC_NUMERIC=”pt_BR.UTF-8″
LC_TIME=”pt_BR.UTF-8″
LC_ALL=
手动修改环境变量之后再测试:
$ export LANG=zh_CN.UTF-8
$ date
2024年 8月 9日 星期五 19时37分24秒 CST
修改 zshrc 之后自动生效:
$ vim ~/.zshrc
export LANG=en_US.UTF-8
$ source ~/.zshrc
$ date
Fri Aug 9 19:44:20 CST 2024
补充:
葡萄牙语/西班牙语中
八月份的缩写是 Ago
葡萄牙语中
星期五的缩写是 Sex
`
葡萄牙语词汇: 星期和月份
https://www.lexisrex.com/%E8%91%A1%E8%90%84%E7%89%99%E8%AF%AD%E8%AF%8D%E6%B1%87/%E6%98%9F%E6%9C%9F%E5%92%8C%E6%9C%88%E4%BB%BD
date 命令显示的效果和locale的设置有关,即受系统当前设置的和语言环境有关的变量影响
`
$ date +%Y_%B
2024_August
$
$ date +%Y-%-m-%-d
2024-8-15
$
$ date +%Y-%m-%d
2024-08-15
$
$ date +%Y_%b
2024_Aug
$
$ locale
LANG=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_CTYPE=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_ALL=
$
$ export LANG=zh_CN.UTF-8
$
$ date +%Y_%b
2024_ 8
$ export LC_ALL=zh_CN.UTF-8
$ date +%Y_%b
2024_ 8
$ date +%Y-%m-%d
2024-08-15
$
$ date +%Y_%B
2024_八月
$
$ locale
LANG=”zh_CN.UTF-8″
LC_COLLATE=”zh_CN.UTF-8″
LC_CTYPE=”zh_CN.UTF-8″
LC_MESSAGES=”zh_CN.UTF-8″
LC_MONETARY=”zh_CN.UTF-8″
LC_NUMERIC=”zh_CN.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_ALL=”zh_CN.UTF-8″
$
$ export LC_ALL=en_US.UTF-8
$ locale
LANG=”zh_CN.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_CTYPE=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_ALL=”en_US.UTF-8″
$
$ date +%Y_%B
2024_August
$
$ date +%Y_%b
2024_Aug
$
`
mtoday() { export LC_TIME=zh_CN.UTF-8; mkdir -p “$HOME/$(date +%Y_%B)/$(date +%Y-%m-%d)”; cd “$HOME/$(date +%Y_%B)/$(date +%Y-%m-%d)”; }
# 执行上面的 mtoday 命令之后,环境变量会发生变化
# date 命令的输出内容受到 LC_TIME 这个环境变量的影响
`
$ date +%Y-%m-%d
2024-08-22
$ locale
LANG=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_CTYPE=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”en_US.UTF-8″
LC_ALL=
$
$ export LC_TIME=zh_CN.UTF-8
$ date +%Y_%B
2024_八月
$
$ locale
LANG=”en_US.UTF-8″
LC_COLLATE=”en_US.UTF-8″
LC_CTYPE=”en_US.UTF-8″
LC_MESSAGES=”en_US.UTF-8″
LC_MONETARY=”en_US.UTF-8″
LC_NUMERIC=”en_US.UTF-8″
LC_TIME=”zh_CN.UTF-8″
LC_ALL=
$
`