如何获取美国时间

 

TimeZone tz=TimeZone.getTimeZone("America/New_York");

Calendar cl=Calendar.getInstance(tz,Locale.US);

System.out.println(cl.get(Calendar.DAY_OF_MONTH));

 

这样,Calendar对象就代表了一个美国时区的对象

 

如果用DateFormat类格式化上面刚创建的对象,时间变为默认时区的时间了,怎么回事呢?

DateFormat df=DateFormat.getDateTimeInstance();

System.out.println(df.format(cl.getTime()))

 

应该,DateFormat对象,不是单纯的格式化时间的类,它里面也包含了默认的地区和时区。它在格式化某个对象时,会把这个对象所表示的时区和地区变成它自己默认的时区和地区,除非你自己设定了它,例如:

 

DateFormat df=DateFormat.getDateTimeInstance();

df.setTimeZone(tz);

System.out.println(df.format(cl.getTime()))

 

这样就可以打印出美国的标准时间

你可能感兴趣的:(时间)