FreezeJ' Blog

Linux时区选择

2021-04-28

时区参考网站

名称 网站
时间站 http://www.shijian.cc/shiqu/
timeis https://time.is/zh/

名称网站时间站http://www.shijian.cc/shiqu/timeishttps://time.is/zh/### UTC和GMT

UTC:Coordinated Universal Time 协调世界时。因为地球自转越来越慢,每年都会比前一年多出零点几秒,每隔几年协调世界时组织都会给世界时+1秒,让基于原子钟的世界时和基于天文学(人类感知)的格林尼治标准时间相差不至于太大。并将得到的时间称为UTC,这是现在使用的世界标准时间。

GMT:Greenwich Mean Time 格林尼治标准时间。这是以英国格林尼治天文台观测结果得出的时间,这是英国格林尼治当地时间,这个地方的当地时间过去被当成世界标准的时间。

参考:https://www.zhihu.com/question/27052407

linux时区文件

查看时区文件详情: zdump -v /usr/share/zoneinfo/Asia/Shanghai

夏令时标志:

GMT时区文件:ll /usr/share/zoneinfo/Etc

修改时区

1.修改配置文件来修改时区

vim /etc/sysconfig/clock
ZONE="Asia/Shanghai" #中国上海
ZONE="Asia/Tokyo" #日本东京
ZONE="Asia/Seoul" #韩国首尔
ZONE="Asia/Ho_Chi_Minh" #越南

2.备份

mv /etc/localtime /etc/localtime.bak

3.链接到时区文件

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime
ln -sf /usr/share/zoneinfo/Asia/Ho_Chi_Minh /etc/localtime

4.同步时间

ntpdate 210.72.145.44 asia.pool.ntp.org time.windows.com

5.将当前时间写入BIOS永久生效(避免重启后失效)

hwclock -w

Java检查时区代码

NowString.java

import java.util.Date;
import java.text.SimpleDateFormat;
import java.time.ZoneId;


public class NowString {
        public static void main(String[] args) { 
                System.out.println((int)(System.currentTimeMillis() / 1000));
                SimpleDateFormat df = new SimpleDateFormat("HH");
                System.out.println(df.format(new Date()));
        ZoneId ZONE_ID = ZoneId.systemDefault();
        System.out.println(ZONE_ID);

        String zoneID = java.security.AccessController.doPrivileged(new sun.security.action.GetPropertyAction("user.timezone"));
        System.out.println("user.timezone=" + zoneID);
        }
}

编译运行:

javac NowString.java
java NowString
# 输出:
1655689561 # 时间戳
09  # 小时
Asia/Shanghai  # 时区
user.timezone=Asia/Shanghai  # 用户时区
Tags: Linux