根据时区获取当地时间
存在的夏令时问题
如果TimeZone.getTimeZone()里面放的是时区,如"GMT+:08:00",这里会存在夏令时和冬令时的问题,得到的时间会相差一小时。
获取某时区的当前时间
这里将采用城市作为传入参数
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
Date date = new Date();
System.out.println("格式化输出当前时间:"+sdf.format(date));
//香港的时区转换
TimeZone timeZone = TimeZone.getTimeZone("Asia/Hong_Kong");
sdf.setTimeZone(timeZone);
System.out.println("香港的当前时间为:"+sdf.format(date));
关于如何获取"Asia/Hong_Kong"这个字段
String []ids = TimeZone.getAvailableIDs();
for(String id:ids){
System.out.print(id+',');
}