linux 改成utc时间_linux – 如何将时区设置为UTC-8

您还没有说明您在何处设置此时区,但您可以在TZ环境变量中创建您喜欢的任何区域名称:

$TZ='+8' date

Fri Feb 22 19:25:36 UTC-8 2019

8是因为POSIX愚蠢地,requires the offsets to be backwards(向西增加); < ...>中的部分是显示的名称,可以是任何单个单词.如果它纯粹是字母,则不需要尖括号,但是 – 和8需要它们.

$TZ='24' date

Fri Feb 22 03:30:15 yesterday 2019

$TZ='tomorrow-24' date

Sun Feb 24 03:30:26 tomorrow 2019

如果您正在使用GUI或其他区域选择工具,则可能在/usr/share / zoneinfo中查找系统中包含的区域定义.如果要在该列表中显示另一个区域,则需要制作合适的zoneinfo文件并将其复制到位. zic工具用于编译the textual format中的zoneinfo文件,这相对简单(特别是在修改现有区域以更改名称时).

在某些系统上(但不是,我认为,Red Hat),有一个文件/ etc / timezone全局设置时区作为名称,您可以使用该TZ变量格式.其他系统仅使用/ etc / localtime,它通常是其中一个zoneinfo文件的副本,因此您还需要在其中创建合适的文件.

对于每个用户或-session区域,您只能使用环境变量.

如果将区域设置为“UTC-8”或其他未明确定义的区域,则it’s treated as two things:首先,区域的名称(“UTC”:无论是否有字母字符串),第二个是POSIX方向的偏移量(无论有多少人).这意味着TZ = UTC-8日期将输出类似的内容

Sat Feb 23 11:50:01 UTC 2019

– 也就是说,它报告中国或西澳大利亚的时间,并认为该区域被称为“UTC”.当你输入错字时,这种行为非常令人困惑和烦人.这可能是你在问题中包含的输出的原因,但我不知道.

这被解析为传统的,大部分过时的POSIX时区格式RST6RDT5,M10.3.0 / 00:00:00,M2.4.0 / 00:00:00,其中包括标准和日光时间的可选名称和偏移,以及两者之间的转换日期.对于任何非平凡区域,此方法存在许多缺点,并且它不会以区域文件的方式跟踪定义的历史更改.

“正确”的做法是使用America / Los_Angeles区域(显示为PST)或Etc / GMT 8(如果您不能使用该名称或不希望夏令时更改). GMT 8将偏移显示为“-08”,没有文字标签.有时候假设正确的东西不够好,在这种情况下,上面的一个应该没问题.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值