2014-07-09 151 views
0

我的Time對象toString()返回19700101T000000America /紐約(4,0,0,0,18000)混亂的Time.toMillis(布爾)

的字段如下:

allDay - false 
gmtOff - 0 
hour - 0 
isDst - -1 
Min - 0 
Month - 0 
MonthDay - 1 
Second - 0 
TimeZone - America/New_York 
Year - 0 
YearDay - 1970 

但是,當我使用Time.toMillis(false)時,它始終返回大於0的值。由於時間代表1970年1月1日,我希望返回值0。即使是第二個對象的字段也是有0的。但仍然是一個不同的價值。

我該如何解決這個問題?

+0

世界民間時間的基礎不是美國,而是UTC:http://en.wikipedia.org/wiki/Coordinated_Universal_Time;) – Blacklight

回答

0

這是因爲您選擇的時區是America/New_York。 時區應該是GMT,它返回0值。

toMillis方法將返回自epoch起的毫秒數。時代是1970年1月1日00:00:00 UTC(格林威治標準時間)。

+0

如果我將使用Time.isEpoch(),它會返回true嗎? –

+0

如果將時間對象的時區更改爲GMT,它將等於時期。 – Somil

+0

構建時間對象時,可以使用Time t = new Time(「UTC」); – Somil