2
我想了解,對象的getTimeInMillis()
方法在Java中。瞭解XMLGregorianCalendar/GregorianCalendar時間(以毫秒爲單位)
考慮下面
XMLGregorianCalendar cal = DatatypeFactory.newInstance().newXMLGregorianCalendar("2014-01-19T00:00:00.000-00:00");
XMLGregorianCalendar cal1 = DatatypeFactory.newInstance().newXMLGregorianCalendar("2014-01-19T00:00:00.000+04:30");
System.out.println(cal.toGregorianCalendar().getTimeInMillis());
System.out.println(cal1.toGregorianCalendar().getTimeInMillis());
代碼段的輸出是如下
1390089600000
1390073400000
這是我的引起混淆。如果看到輸入時間2014-01-19T00:00:00.000-00:00
和2014-01-19T00:00:00.000+04:30
,則它們指的是相同的時間。因此,應該由getTimeInMillis()
返回的UTC時間應該是相同的,但是您看到有所不同。在這種情況下的差異是以毫秒錶示的4.5小時,這是第二個時間字符串中的時區偏移量。
不知道我的理解出錯的地方。
輸入時間是怎樣的?我錯過了什麼? –
你的陳述「他們指的是同一個實例」令人困惑,因爲你有兩個不同的實例:cal和cal1。 –
將其更改爲表示我的意思,「同一時刻」。格林威治標準時間的午夜時間和格林威治標準時間前4.30小時的時區是同一時刻,或者至少這是我的理解... – mihirg