我们的时区存储在数据库中,如下所示(例如 America/Los_Angeles)。如何从上面获得等效的 GMT 表示(例如 GMT -08:00)
最佳答案
与 GMT 的偏移量(以小时为单位):
import java.util.TimeZone
double offset = TimeZone.getTimeZone("America/Los_Angeles")
.getRawOffset()/(60*60*1000.0);
// returns 8.0
但是,这会返回原始偏移量。由于夏令时,偏移量会根据时区和日期而变化。要获取特定日期的偏移量,请使用:
import java.util.TimeZone
import java.util.Calendar
Calendar cal = Calendar.getInstance();
double offset = TimeZone.getTimeZone("America/Los_Angeles")
.getOffset(cal.getTimeInMillis())/(60*60*1000.0);
// returns -7.0 for 22/sep/2010
关于java - 如何获取 GMT 格式的时区表示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3768162/