我有以下的代码,我的目标是返回以毫秒为单位的
```html
GMT+0
时间。但为什么我总是得到本地时区的毫秒数?```html
我有以下的代码,我的目标是返回以毫秒为单位的 GMT+0
时间。但为什么我总是得到本地时区的毫秒数?
Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("GMT"));
Calendar cal2 = Calendar.getInstance();
System.out.println("Time zone id is:"+cal.getTimeZone().getID()+";time in millisec:"+cal.getTimeInMillis());
System.out.println("Time zone id is:"+cal2.getTimeZone().getID()+";time in millisec:"+cal2.getTimeInMillis());
输出结果为:
时区标识为:GMT;毫秒时间:1332740915154
时区标识为:Europe/Helsinki;毫秒时间:1332740915154
为什么不同的时区会给出相同的毫秒值?
我认为如果是GMT+0
,则与本地时区相比,它应该有不同的毫秒值。
Calendar
和TimeZone
。这些类设计不佳且已经过时。相反,使用来自Java时间和日期API(java.time)的Instant
。如果需要表示时区,则使用ZoneId
。 - Ole V.V.