ls_date=date +%H:%M:%S
ls_data="$ls_date"
echo $ls_date
执行上面得到的结果是:09:31:36
但是我系统当前的日期是:17:31:36
要怎么设置或者获取到正确的时间
通过 export TZ=Asia/Shanghai
设置一下时区
export TZ=Asia/Shanghai
ls_date=date +%H:%M:%S
ls_data="$ls_date"
echo $ls_date
直接这样吗?这样得到的结果还是不对
@后土·K: 我这里在 Ubuntu 上测试,不设置 TZ 都是对的
@dudu: 我现在得到的结果是:10:45:30
就执行这段代码的时候得到的结果:
export TZ=Asia/Shanghai
ls_date=date +%H:%M:%S
ls_data="$ls_date"
echo $ls_date
@后土·K: locale 命令看一下语言设置
@dudu: locale后得到的结果
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_ALL=
@后土·K: 运行 date
命令(不加参数)的输出是什么?
@dudu:
echo date
得到到结果:
2018年10月25日 3:54:22
@dudu: 差了8个小时
@后土·K: 什么linux系统?
@dudu: 是在虚拟机上的Ubuntu
后来我又在windows用git bash运行,得到的结果也是一样,差了8个小时
@后土·K: windows的时钟对吗?
@dudu: windwos的时钟是对的。
@dudu: 不知道什么原因,我在本地windows和虚拟机上都得到的是差8个小时的时间,扔到服务器上去就正常了。