0
我在我的java程序中遇到問題。Java CurrenTimeMilis不匹配
我使用時間戳在數據庫上執行查詢,但我得到錯誤的時間戳。
在我的虛擬機,我的日期設置爲太平洋時間:
date
Wed Oct 30 09:50:43 PDT 2013
也
timedatectl status
Local time: Wed 2013-10-30 09:52:30 PDT
Universal time: Wed 2013-10-30 16:52:30 UTC
Timezone: US/Pacific (PDT, -0700)
NTP enabled: yes
NTP synchronized: no
RTC in local TZ: no
DST active: yes
Last DST change: DST began at
Sun 2013-03-10 01:59:59 PST
Sun 2013-03-10 03:00:00 PDT
Next DST change: DST ends (the clock jumps one hour backwards) at
Sun 2013-11-03 01:59:59 PDT
Sun 2013-11-03 01:00:00 PST
但是當我的程序做system.getCurrentMilis()時將返回以下時間戳:
2013-10-30 11:47:16.884
我不確定爲什麼會出現這種情況。如果有人可以告訴我什麼是錯的,或者我可以檢查那將是真棒
謝謝!
編輯:
//- Get maximum timestamp from previous query
Timestamp maxTimestamp = (new Timestamp(System.currentTimeMillis()) ;
//- Compute query parameters (see notes above)
Timestamp lowerLimit = new Timestamp(maxTimestamp.getTime() - 500) ;
System.out.println("lowerLimit=" + lowerLimit) ;
Timestamp upperLimit = new Timestamp(System.currentTimeMillis());
System.out.println("upperLimit=" + upperLimit) ;
['.getCurrentTimeMillis()'](http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis())不會返回'String'它返回一個'long',無論你將'long'轉換成'String'是否使用'TimeZone',可能是默認值。顯示該代碼。你默認的'TimeZone'設置爲? –
在某些編輯中添加。但我不把它切換到一個字符串,我只是打印出時間戳 – Dan