关于Linux中的日期和时区的问题

前端之家收集整理的这篇文章主要介绍了关于Linux中的日期和时区的问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我做了日期命令,它给出了以下输出
root@localhost:~$date
Thu Dec 30 14:19:47 UTC 2010

然后我使用date -s命令修改了日期,它给出了以下输出

root@localhost:~$date -s "12/30/2010 JST 14:19:47"
Thu Dec 30 05:19:47 UTC 2010

我注意到时间变为UTC时间后9小时,以准确显示JST时间.但是你可以看到的时区仍然显示UTC.为什么显示正确的时间和不正确的时区?

谢谢

解决方法

这是因为您的系统设置为使用UTC(或没有设置时区)而不是JST. date命令将接受JST作为输入修饰符,但随后使用系统默认值显示它.如果您希望系统希望系统以JST格式显示时间,则应将时区设置为JST

删除重命名/ etc / localtime,然后将/usr/share / zoneinfo中的相关文件链接到/ etc / localtime

cd /etc
mv localtime localtime.orig
ln -s /usr/share/zoneinfo/Japan /etc/localtime

编辑

回答你的评论 – 日期命令必须能够理解作为-s的日期字符串参数的一部分提供的时区信息以及如何处理它.如果您检查source code,您会发现所有常用时区缩写以及它们与GMT的偏移都已定义.然后,此信息用于正确设置时间.根据您检查的core-utils版本,您将在lib / parse-datetime.c或lib / getdate.c中找到相关信息.

原文链接:https://www.f2er.com/linux/396014.html

猜你在找的Linux相关文章