Android北京时间转换为新西兰时间

public staticString converTime(String country,String srcTime) {

TimeZone timezone =null;

if(country.equals("香港")) {

timezone = TimeZone.getTimeZone("GMT+8");

}

if(country.equals("新西兰")) {

//开始这里使用东12去去获取TimeZone

timezone = TimeZone.getTimeZone("GMT+12");

}

String  destTime ="2017-03-06 22:09:18";

SimpleDateFormat sdf =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String convertTime ="";

Date resultDate;

try{// 将输入时间字串转换为UTC时间

resultDate = sdf.parse(srcTime);

Calendar cd = Calendar.getInstance();

cd.setTimeInMillis(resultDate.getTime());

SimpleDateFormat sdfGmt =newSimpleDateFormat("yyyy-MM-dd HH:mm:ss");

sdfGmt.setTimeZone(timezone);

convertTime = sdfGmt.format(cd.getTime());

}catch(Exception e) {

returnconvertTime;

}

returnconvertTime;

}

开始使用东12去去获取TimeZone,可是除了时区之外还有另外一个问题,时令,时令不同新西兰时间比北京时间快的时间也不同,所以将TomeZone的获取方法改为

timezone= TimeZone.getTimeZone("Pacific/Auckland");

Auckland 为新西兰首都的名称

你可能感兴趣的:(Android北京时间转换为新西兰时间)