0

Java プログラムで問題が発生しています。

タイムスタンプを使用してデータベースでクエリを実行していますが、間違ったタイムスタンプを取得しています。

私の VM では、日付が太平洋時間に設定されています。

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 ) ;
4

1 に答える 1