关于timezone的问题
windows设置时间的时候有个选timezone的下拉列表,如何知道其在java中对应的timezone的ID是什么呢,先谢谢大家了.
------解决方案--------------------帮顶
------解决方案--------------------java.util.TimeZone的
public static String[] getAvailableIDs()获取受支持的所有可用 ID。
方法。
------解决方案--------------------String getID()
Gets the ID of this time zone.
还有这个,
------解决方案--------------------String[] s = TimeZone.getAvailableIDs();
可以取到大概400个时区, 其中很多的ID都是重复的. 比较常用的:
String timeZoneKey = "HST,AST,PST,PNT,MST,CST,IET, " +
"EST,PRT,AGT,BET,CNT,CAT,GMT, " +
"ECT,EET,ART,EAT,NET,MET,PLT, " +
"IST,BST,VST,CTT,JST,ACT,AET, " +
"SST,NST ";
String[] timeZoneKeyArray = timeZoneKey.split( ", ");
for(int i = 0; i < timeZoneKeyArray.length; i ++){
String timeZoneId = TimeZone.getTimeZone(timeZoneKeyArray[i]).getID();
String timeZoneName = TimeZone.getTimeZone(timeZoneKeyArray[i]).getDisplayName();
int rawOffset = TimeZone.getTimeZone(timeZoneKeyArray[i]).getRawOffset();
rawOffset = rawOffset/(3600000);
String offsetString = " ";
if(rawOffset > 0){
offsetString = "+ " + rawOffset;
}else{
offsetString = "- " + Math.abs(rawOffset);
}
System.out.println(timeZoneId + " " + "[GMT "+ offsetString + ":00] " +timeZoneName);
}