Date now=new Date();
//获得具有默认语言环境的默认格式化风格的日期/时间 formatter
DateFormat defaultFormatter=DateFormat.getDateTimeInstance();
//获得指定格式和语言环境的formatter
DateFormat chinaFormatter=DateFormat.getDateTimeInstance(DateFormat.MEDIUM,DateFormat.MEDIUM,Locale.CHINA);
//获得东8区的formatter
DateFormat gmt08Formatter=DateFormat.getDateTimeInstance();
TimeZone timezone=TimeZone.getTimeZone( "GMT+08:00 ");
gmt08Formatter.setTimeZone(timezone);
//格式日期/时间
String defaultDateTime=defaultFormatter.format(now);
String chinaDateTime=chinaFormatter.format(now);
String gmt08DateTime=gmt08Formatter.format(now);
System.out.print( "默认语言环境的时间: ");
System.out.println(defaultDateTime);
System.out.print( "Locale.CHINA环境下的时间: ");
System.out.println(chinaDateTime);
System.out.print( "东8区时间: ");
System.out.println(gmt08DateTime);
结果如下:
默认语言环境的时间: 2007-4-11 5:57:49
Locale.CHINA环境下的时间: 2007-4-11 5:57:49
东8区时间: 2007-4-11 13:57:49
系统时期时间为:2007-04-11 星期三 14:00
控制面板中日期时间属性中时区如下:
(GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐
为什么前两种方式得到的时间与系统时间相差8小时?
期待您的回复!
Email:xuyi_dj@163.com
QQ:278819255
------解决方案--------------------
在我机子上的运行结果是:
默认语言环境的时间: 2007-4-11 14:37:08
Locale.CHINA环境下的时间: 2007-4-11 14:37:08
东8区时间: 2007-4-11 14:37:08
不知道为什么会这样