CST和GMT时间的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CST和GMT时间的区别相关的知识,希望对你有一定的参考价值。

GMT(Greenwich Mean Time)代表格林尼治标准时间。  而CST却同时可以代表如下 4 个不同的时区:  1.Central Standard Time (USA) UT-6:00 2.Central Standard Time (Australia) UT+9:30 3.China Standard Time UT+8:00 4.Cuba Standard Time UT-4:00             可见,CST可以同时表示美国,澳大利亚,中国,古巴四个国家的标准时间。前面提到的通过 Java 获取的CST时间用的是China Standard Time,而客户端javascript则默认采用的是美国的中部时间。所以将 Fri Aug 28 09:37:46 CST 2009 加上 6 个小时,再加上 8 个小时,就等于 Fri Aug 28 2009 23:37:46,GMT+0800。可见,在以后的编程中为了避免错误,还是不要使用CST时间,而尽量采用GMT时间。

参考技术A 按照我的个人理解:
CST应该是指(China Shanghai Time,东八区时间)
UTC应该是指(Coordinated Universal Time,标准时间)
所以,这2个时间实际上应该相差8个小时。

如果你需要将CentOS的默认系统时区指定在CST,那么可以按照如下步骤进行:
step1: rm -rf /etc/localtime
step2: ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
如果你需要将默认系统时区定在UTC,那么可以将/usr/share/zoneinfo/UTC作为/etc/localtime文件的软连接。本回答被提问者采纳
参考技术B 没怎么看。

java GMT时间转换为CST时间

今天在获取windchill的“上次修改时间”的时候发现获取的是GMT时间,但是我们常用的是CST时间

一开始尝试直接设置为CST时区,TimeZone.getTimeZone("CST"),发现时间比GMT还少了8个小时

北京时间是东8区,后来改成GMT+8或GMT+8:00才获取到CST时间

      package test;
      import java.text.SimpleDateFormat;
      import java.util.Date;
      import java.util.TimeZone;
      public class test {
      public static void main(String[] args) {
      System.out.println(new Date());  
         SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");  
         // CST(北京时间)在东8区  
         sdf.setTimeZone(TimeZone.getTimeZone("GMT+8"));  
         System.out.println(sdf.format(new Date()));  
      }
    }

以上是关于CST和GMT时间的区别的主要内容,如果未能解决你的问题,请参考以下文章

CST和GMT时间的区别

toString()和toLocaleString()有什么区别

关于GMT UTC CST和Linux时区设置

java GMT时间转换为CST时间

UTC/GMT/CST/RTC

UTC 和 GMT的区别是啥啊?