首页 新闻 会员 周边 捐助

sh脚本文件获取当前日期只能取到短日期

0
[已解决问题] 解决于 2018-10-29 19:28

ls_date=date +%H:%M:%S

ls_data="$ls_date"
echo $ls_date

执行上面得到的结果是:09:31:36
但是我系统当前的日期是:17:31:36

要怎么设置或者获取到正确的时间

后土·K的主页 后土·K | 菜鸟二级 | 园豆:202
提问于:2018-10-23 18:00
< >
分享
最佳答案
1

通过 export TZ=Asia/Shanghai 设置一下时区

奖励园豆:5
dudu | 高人七级 |园豆:29570 | 2018-10-23 18:31

export TZ=Asia/Shanghai

ls_date=date +%H:%M:%S

ls_data="$ls_date"
echo $ls_date

直接这样吗?这样得到的结果还是不对

后土·K | 园豆:202 (菜鸟二级) | 2018-10-23 18:35

@后土·K: 我这里在 Ubuntu 上测试,不设置 TZ 都是对的

dudu | 园豆:29570 (高人七级) | 2018-10-23 18:42

@dudu: 我现在得到的结果是:10:45:30
就执行这段代码的时候得到的结果:
export TZ=Asia/Shanghai

ls_date=date +%H:%M:%S

ls_data="$ls_date"
echo $ls_date

后土·K | 园豆:202 (菜鸟二级) | 2018-10-23 18:46

@后土·K: locale 命令看一下语言设置

dudu | 园豆:29570 (高人七级) | 2018-10-23 19:50

@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 | 园豆:202 (菜鸟二级) | 2018-10-25 09:24

@后土·K: 运行 date 命令(不加参数)的输出是什么?

dudu | 园豆:29570 (高人七级) | 2018-10-25 09:33

@dudu:
echo date
得到到结果:
2018年10月25日 3:54:22

后土·K | 园豆:202 (菜鸟二级) | 2018-10-25 11:54

@dudu: 差了8个小时

后土·K | 园豆:202 (菜鸟二级) | 2018-10-25 11:55

@后土·K: 什么linux系统?

dudu | 园豆:29570 (高人七级) | 2018-10-25 11:56

@dudu: 是在虚拟机上的Ubuntu
后来我又在windows用git bash运行,得到的结果也是一样,差了8个小时

后土·K | 园豆:202 (菜鸟二级) | 2018-10-25 12:31

@后土·K: windows的时钟对吗?

dudu | 园豆:29570 (高人七级) | 2018-10-25 13:06

@dudu: windwos的时钟是对的。

后土·K | 园豆:202 (菜鸟二级) | 2018-10-25 17:57

@dudu: 不知道什么原因,我在本地windows和虚拟机上都得到的是差8个小时的时间,扔到服务器上去就正常了。

后土·K | 园豆:202 (菜鸟二级) | 2018-10-25 17:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册