0
내 Java 프로그램에 문제가 있습니다.Java CurrenTimeMilis가 일치하지 않습니다.
타임 스탬프를 사용하여 데이터베이스에서 쿼리를 수행하고 있지만 잘못된 타임 스탬프가 표시됩니다. 내 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) ;
['.getCurrentTimeMillis()'] (http://docs.oracle.com/javase/7/docs/api/java/lang/System.html#currentTimeMillis())는 '문자열'을 반환하지 않습니다. 'long'을 리턴합니다.'long'을'String'으로 변환하기 위해 무엇을 하든지간에, 아마도'TimeZone'을 사용하고 있습니다. 그 코드를 보여주세요. 기본 'TimeZone'은 (으)로 설정되어 있습니까? –
일부 수정되었습니다. 하지만 난 문자열로 전환하지 않는, 난 그냥 타임 스탬프를 인쇄 할 – Dan