java new Date() 变成GMT&& GMT时间与CST时间转换

版权声明:本文版权归作者所有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。 https://blog.csdn.net/A8_8A/article/details/49002699

今天在做项目时发现new Date()输出时间之后成为GMT时间

	public static void main(String[] args) throws ParseException {
		System.out.println(new Date());
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		System.out.println(sdf.format(new Date()));
	}

输出结果为

Fri Oct 09 09:15:10 GMT 2015
2015-10-09 09:15:10

我们现在用的时间是北京时间,是CST。

最后发现,出现这种现象的原因是使用的jdk是1.5。当改为jdk1.6之后,生成的时间变为CST

Fri Oct 09 17:18:13 CST 2015
2015-10-09 17:18:13

jdk1.5下怎么输出CST时间呢。可以使用如下方法

	public static void main(String[] args) throws ParseException {
		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()));
	}

通过这种方法,可以把输出任意时区的时间。



展开阅读全文

没有更多推荐了,返回首页