CET,UTC,GMT,CST几种常见时间概述与关系

本文介绍了CET、UTC、GMT、CST等常见时间概念及其相互关系,并详细讲解了在CentOS Linux系统中如何设置时间及进行时区配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CET,UTC,GMT,CST几种常见时间概述与关系


CET
欧洲中部时间(英語:Central European Time,CET)是比世界标准时间(UTC)早一个小时的时区名称之一。它被大部分欧洲国家和部分北非国家采用。冬季时间为UTC+1,夏季欧洲夏令时为UTC+2。
参考资料:http://zh.wikipedia.org/zh/%E6%AC%A7%E6%B4%B2%E4%B8%AD%E9%83%A8%E6%97%B6%E9%97%B4

UTC
协调世界时,又称世界标准时间或世界协调时间,简称UTC,从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。台湾采用CNS 7648的《资料元及交换格式–资讯交换–日期及时间的表示法》(与ISO 8601类似)称之为世界统一时间。中国大陆采用ISO 8601-1988的国标《数据元和交换格式信息交换日期和时间表示法》(GB/T 7408)中称之为国际协调时间。协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。
参考资料http://zh.wikipedia.org/zhhans/%E4%B8%96%E7%95%8C%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4

GMT
格林尼治标准时间(旧译格林尼治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
参考资料:http://zh.wikipedia.org/wiki/GMT


CST
北京时间,China Standard Time,又名中国标准时间,是中国的标准时间。在时区划分上,属东八区,比协调世界时早8小时,记为UTC+8,与中华民国国家标准时间(旧称“中原标准时间”)、香港时间和澳门时间和相同。當格林威治時間為凌晨0:00時,中國標準時間剛好為上午8:00。
参考资料:http://zh.wikipedia.org/zh/CSThttp://zh.wikipedia.org/wiki/%E5%8C%97%E4%BA%AC%E6%97%B6%E9%97%B4


关系
CET=UTC/GMT + 1小时
CST=UTC/GMT +8 小时
CST=CET+9

例如: Thursday 03/17/2011 between 0:30am and 6:00am CET (UTC/GMT +1 hour)
CET =                 03/17/2011  0:30am and 6:00am
UTC/GMT =    03/17/2011  1:30am and 7:00am
CST  =                03/17/2011  9:30am and 15:00am



在CentOS Linux中终端命令中执行以下命令:

1).vi /etc/sysconfig/clock  #编辑时间配置文件

  ZONE="Asia/Shanghai"

  UTC=false                #设置为false,硬件时钟不于utc时间一致

  ARC=false

2).ln -sf /usr/share/zoneinfo/Asia/Shanghai    /etc/localtime  #linux的时区设置为上海时区

3).ntpdatecn.pool.ntp.org #对准时间

4)./sbin/hwclock --systohc  #设置硬件时间和系统时间一致并校准

经过以上步骤,我们的CentOS linux系统时间和计算机硬件时间终于都是cst时间了,并且都是上海时区。

  1. 修改系统时间。

            linux系统时钟有两个,一个是硬件时钟,即BIOS时间,就是我们进行CMOS设置时看到的时间,另一个是系统时钟,是linux系统Kernel时间。当Linux启动时,系统Kernel会去读取硬件时钟的设置,然后系统时钟就会独立于硬件运作。有时我们会发现系统时钟和硬件时钟不一致,因此需要执行时间同步,下面就分享一下时间设置及时钟同步的命令使用方法。

    date命令将日期设置为2014年6月18日

     ----   date -s 06/18/14

    将时间设置为14点20分50秒

     ----   date -s 14:20:50

    将时间设置为2014年6月18日14点16分30秒(MMDDhhmmYYYY.ss)

    ----date 0618141614.30

    linux系统修改系统时间与时区
  2. 2

     hwclock/clock 命令查看、设置硬件时间

    查看系统硬件时钟

    hwclock  --show 或者

    clock  --show

    设置硬件时间

     hwclock --set --date="06/18/14 14:55" (月/日/年时:分:秒)或者# clock --set --date="06/18/14 14:55" (月/日/年时:分:秒)

  3. 3

     同步系统及硬件时钟。

    下图中可以看到硬件和系统时钟相差半小时。可以使用hwclock或者clock进行同步,

    硬件时钟与系统时钟同步:

    # hwclock --hctosys 或者 # clock --hctosys  hc代表硬件时间,sys代表系统时间,即用硬件时钟同步系统时钟

    系统时钟和硬件时钟同步:

    # hwclock --systohc或者# clock --systohc  即用系统时钟同步硬件时钟

    linux系统修改系统时间与时区
    linux系统修改系统时间与时区
    linux系统修改系统时间与时区
    END

方法/步骤2

  1.  时区设置:

            开始设置时区时,参考网上的资料,使用tzselect 命令来进行,结果发现tzselect命令只是告诉了设置时区的方法,而并不是真的去修改/etc/sysconfig/clock这个文件。换句话说就是tzselect命令仅仅告诉我们通过设置TZ这个环境变量来选择的时区,然后将变量添加到.profile文件中。下面就简单介绍一下如何使用tzselect命令设置时区,以及如何通过修改/etc/sysconfig/clock配置文件来设置时区。

  2.  tzselect:

    执行tzselect命令-->选择Asia-->选择China-->选择east China - Beijing, Guangdong, Shanghai, etc-->然后输入1。过程如下图:

     



  3.  执行完tzselect命令选择时区后,时区并没有更改,只是在命令最后提示你可以执行TZ='Asia/Shanghai'; export TZ 并将这行命令添加到.profile中,然后退出并重新登录。参考下图中date命令看到的结果,最终时区显示为CST,即中国标准时间。

    linux系统修改系统时间与时区
  4. 4

     修改配置文件来修改时区1、修改/etc/sysconfig/clock         ZONE=Asia/Shanghai

    2、rm /etc/localtime3、链接到上海时区文件       

     ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

    执行完上述过程后,重启机器,即可看到时区已经更改。

    linux系统修改系统时间与时区
    linux系统修改系统时间与时区
    linux系统修改系统时间与时区

上述的 `g_chm_timezone` 数组是一个C语言中的字符串数组,用来表示全球各个时区协调世界时(UTC)的时间偏移量和一些常见的缩写。每个时区都包含两个条目:一个是完整的格式如 `"UTC+XX:00"` 或 `"UTC-XX:00"`,另一个是该时区的常见简称或缩写。 以北京时间(**UTC+8:00**)为基准,如果设定时间为 **2024年7月2日 09:00(北京时间)**,我们可以根据每个时区相对于UTC的偏移来计算出对应时间。 --- ### 示例:北京时间为 2024年7月2日 09:00 | UTC 时间 | 北京时间 | 其他时区对应时间 | |----------|-----------|------------------| | UTC+8 | 09:00 | 对应其他时区的时间 | 下面是一段 Python 脚本代码,可以根据指定的 UTC 偏移量自动计算出对应的当地时间: ```python from datetime import datetime, timedelta # 指定北京时间为 2024-07-02 09:00 (UTC+8) beijing_time = datetime(2024, 7, 2, 9, 0) # 定义所有时区信息 timezone_info = [ ("UTC-12:00", "GMT12"), ("UTC-11:00", "SST11"), ("UTC-10:00", "HAST10"), ("UTC-09:00", "AKST9"), ("UTC-08:00", "PST8"), ("UTC-07:00", "MST7"), ("UTC-06:00", "CST6"), ("UTC-05:00", "EST5"), ("UTC-04:00", "AST4"), ("UTC-03:30", "NST3:30"), ("UTC-03:00", "BRT3"), ("UTC-02:00", "GST2"), ("UTC-01:00", "CVT1"), ("UTC-00:00", "GMT0"), ("UTC+01:00", "CET-1"), ("UTC+02:00", "EET-2"), ("UTC+03:00", "AST-3"), ("UTC+03:30", "IRT-3:30"), ("UTC+04:00", "GST-4"), ("UTC+04:30", "AFT-4:30"), ("UTC+05:00", "PKT-5"), ("UTC+05:30", "IST-5:30"), ("UTC+05:45", "NPT-5:45"), ("UTC+06:00", "BDT-6"), ("UTC+06:30", "MMT-6:30"), ("UTC+07:00", "ICT-7"), ("UTC+08:00", "CST-8"), ("UTC+09:00", "JST-9"), ("UTC+09:30", "CST-9:30"), ("UTC+10:00", "EST-10"), ("UTC+11:00", "SBT-11"), ("UTC+12:00", "NZST-12"), ("UTC+13:00", "TOT-13"), ] print("北京时间 2024-07-02 09:00 对应各时区时间:") for utc_str, tz_abbr in timezone_info: # 解析 UTC 偏移量 offset = int(utc_str.split("UTC")[1].replace(":", ".")) # 计算目标时间 target_time = beijing_time + timedelta(hours=(-8 + offset)) print(f"{utc_str} ({tz_abbr}): {target_time.strftime('%Y-%m-%d %H:%M')}") ``` --- ### 输出结果示例(部分) ``` UTC-12:00 (GMT12): 2024-07-01 13:00 UTC-11:00 (SST11): 2024-07-01 14:00 UTC-10:00 (HAST10): 2024-07-01 15:00 UTC-09:00 (AKST9): 2024-07-01 16:00 UTC-08:00 (PST8): 2024-07-01 17:00 UTC-07:00 (MST7): 2024-07-01 18:00 UTC-06:00 (CST6): 2024-07-01 19:00 UTC-05:00 (EST5): 2024-07-01 20:00 UTC-04:00 (AST4): 2024-07-01 21:00 UTC-03:30 (NST3:30): 2024-07-01 21:30 UTC-03:00 (BRT3): 2024-07-01 22:00 ... UTC+08:00 (CST-8): 2024-07-02 09:00 ... UTC+12:00 (NZST-12): 2024-07-02 13:00 UTC+13:00 (TOT-13): 2024-07-02 14:00 ``` --- ### 总结说明: 这段代码将北京时间作为基础时间,通过计算不同 UTC 偏移量之间的差值,输出了全球各时区在该时间点所对应的具体时间。这在跨时区通信、服务器日志记录等场景中非常有用。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值