这是我的代码。我的问题是android(任何其他系统内部如何处理DST)。 DST规则可以改变。或者它是一个太过落实的案例,无论是真正的问题。
public long getLocalTimeFromUTCTime(long utcTime)
{
Time time = new Time();
time.set(utcTime);
TimeZone localTimezone = TimeZone.getDefault();
time.switchTimezone(localTimezone.getID());
time.normalize(false);
return time.toMillis(false);
}
答案 0 :(得分:0)
根据建议here,这似乎已经成功了:
SimpleDateFormat dateTimeFormat = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
String date="2012-10-03T22:00:00.000+0000";
try {
System.out.println(dateTimeFormat.getTimeZone().getDisplayName());
System.out.println("Today : "+new Date().toString()+ ", Timezone Offset :" +
+(new Date()).getTimezoneOffset());
System.out.println("Parsed Date : "+
dateTimeFormat.parse(date).toString()
+ ", Timezone Offset : "
+dateTimeFormat.parse(date).getTimezoneOffset());
} catch (ParseException e) {
e.printStackTrace();
}
更具体地说,您应该查看getTimezoneOffset()
。