今天在做项目时发现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()));}
通过这种方法,可以把输出任意时区的时间。