GMT时间是格林尼治标准时间。CST时间是指包含中国。美国。巴西,澳大利亚四个时区的时间。

在javascript中默认CST是指美国中部时间,倘若在javascript中GMT转换CST则两者相差14个小时。在java后台中默认的是北京时间,GMT转换成CST则相差8个小时。各个地方用CST时间得到的可能会有所不同。所以为了避免编程错误,一般使用GMT时间。

下面是从其它地方找到的三种转换方式。

  1. 第一种方式:

    Date date = new Date();
    date.toGMTString();

    因此方法在高版本号的JDK中已经失效,不推荐使用。

  2. 另外一种方式
    DateFormat cstFormat = new SimpleDateFormat();
    DateFormat gmtFormat = new SimpleDateFormat();
    TimeZone gmtTime = TimeZone.getTimeZone("GMT");
    TimeZone cstTime = TimeZone.getTimeZone("CST");
    cstFormat.setTimeZone(gmtTime);
    gmtFormat.setTimeZone(cstTime);
    System.out.println("GMT Time: " + cstFormat.format(date));
    System.out.println("CST Time: " + gmtFormat.format(date));

    得到的格式非常单调。仅仅有年月日+上下午+时分。

    感觉不太好用,不推荐使用

  3. 第三种方式
    public Date getCST(String strGMT) throws ParseException {
    DateFormat df = new SimpleDateFormat("EEE, d-MMM-yyyy HH:mm:ss z", Locale.ENGLISH);
    return df.parse(strGMT);
    } public String getGMT(Date dateCST) {
    DateFormat df = new SimpleDateFormat("EEE, d-MMM-yyyy HH:mm:ss z", Locale.ENGLISH);
    df.setTimeZone(TimeZone.getTimeZone("GMT")); // modify Time Zone.
    return(df.format(dateCST));
    }

    一般我们的web请求的请求头中的Date格式类似于:Thu,
    02 Jul 2015 05:49:30 GMT ,能够对应的把上面的格式调整为:

    DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z", Locale.ENGLISH);

    这样的方式能够灵活控制时间的格式,信息量较全,推荐使用。

  4. 以下是三种方式測试的结果:

GMT和CST的转换的更多相关文章

  1. atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源

    atitit.GMT UTC Catitit.GMT UTC CST DST CET 星期 月份 节日 时间的不同本质and起源 1. GMT(Greenwich Mean Time)是格林尼治平时 ...

  2. JAVA CST时间 转换成Date

    Mybatis中处理Oracle时间类型是个比较麻烦的问题,特别是需要用到时间做比较的,可参考以下代码与思路: 格式化CST时间 SimpleDateFormat sdf = new SimpleDa ...

  3. GMT UTC CST ISO 夏令时 时间戳,都是些什么鬼?

    目录 ✍前言 本文提纲 版本约定 ✍正文 GMT:格林威治时间 凭什么格林威治作为标准时间? 地球自转 中国有哪几个时区? 美国有哪几个时区? GMT和Http协议的渊源 UTC:世界标准时间 UTC ...

  4. C#本地时间和GMT(UTC)时间的转换

    /// <summary> /// 本地时间转成GMT时间 /// </summary> 4 public static string ToGMTString(DateTime ...

  5. GMT and CST

    GMT(Greenwich Mean Time) 代表格林尼治标准时间 而CST却同时可以代表如下 4 个不同的时区: Central Standard Time (USA) UT-6:00    C ...

  6. 关于GMT UTC CST和Linux时区设置

    GMT即格林威治时间:UTC即全球统一时间:GMT和UTC的时间是一样的 北京时间是东八区,即GMT+8或者UTC+8 CST:Central Standard Time (CST) is 6 hou ...

  7. 关于时间格式 GMT,UTC,CST,ISO

    GMT: 格林尼治所在地的标准时间 UTC: 协调世界时,又称世界统一时间.世界标准时间.国际协调时间.由于英文(CUT)和法文(TUC)的缩写不同,作为妥协,简称UTC. 协调世界时是以原子时秒长为 ...

  8. 理清 UT、UTC、GMT和CST

    平时各种时间标准简写绕得不明不白,查一下整理在这里. IAT: International Atomic Time, 原子时.又称国际原子时,是一种通过原子钟得到的时间标准,原子钟是世界上已知最准确的 ...

  9. CST时间转换成 yyyy-MM-dd格式

    将 "Tue Oct 28 12:12:10 CST 2010" 时间格式转成 "2010-10-28 12:12:10" 格式: + (NSString *) ...

随机推荐

  1. GET方法与POST方法的区别

    区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据: 区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于URL后,并用"?" ...

  2. python 读取文件生成嵌套列表

    def read_data(file_name): if not re.findall(".txt", file_name): file_name += ".txt&qu ...

  3. 在你的Android手机上运行Linux

    之前试过许多方法(也就几种),像什么Complete Linux Installer,Debian noroot,利用已有的Linux构造Bootstrap之类,要么就是复杂得要命(调了两天没有调出来 ...

  4. Linux环境下验证码不显示F12报500

     前言: 项目之前部署在linux系统上进行测试,今天重新部署的时候,重启了tomcat然后部署新的版本项目,结果登录页面验证码不显示,在浏览器F12页面显示的是500错误.网上查了很多方法,都没效果 ...

  5. ssm 使用中的一些问题

    1.问题:[org.mybatis.spring.SqlSessionUtils] - Creating a new SqlSession [org.mybatis.spring.SqlSession ...

  6. Bash的循环结构(for和while)

    在bash有三中类型的循环结构表达方法:for,while,until.这里介绍常用的两种:for和while. for bash的for循环表达式和python的for循环表达式风格很像: for ...

  7. Centos7 静态IP配置

    先将虚拟机设置为桥接模式: 虚拟机网络将VMnet8设置为NAT模式: 查看本机IP地址,ipconfig,记住ipv4地址和默认网关地址,等会配置的时候要用 启动Centos,进入终端模式,设置IP ...

  8. LeetCode(55)Jump Game

    题目 Given an array of non-negative integers, you are initially positioned at the first index of the a ...

  9. UI组件之色彩选择器

    var myData = { canvas : document.getElementById('colors'),// context : myData.canvas.getContext('2d' ...

  10. 【POJ3680】Intervals(费用流)

    题意:有n条线段,每条有起点,终点和一个权值 要求选取一些线段,使它们的权值和最大,并且使每一个点被覆盖不超过k次 1 ≤ K ≤ N ≤ 200 1 ≤ ai < bi ≤ 100,000, ...