데이터베이스에서 타임 스탬프 값을 가져 와서 달력으로 변환하고 타임 스탬프로 다시 변환하려하지만 정밀도가 떨어집니다.정밀도를 잃지 않고 java.sql.Timestamp를 java.util.Calendar로 변환
는 여기에 문제 여기
import java.sql.Timestamp;
import java.util.Calendar;
public class Test {
public static void main(String[] args)
{
Timestamp timestamp = new Timestamp(112, 10, 5, 15, 39, 11, 801000000);
System.out.println("BEFORE "+timestamp.toString());
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(timestamp.getTime());
timestamp = new Timestamp(calendar.getTimeInMillis());
System.out.println("AFTER "+timestamp.toString());
}
}
변환
BEFORE 2012-10-18 14:30:13.362001
AFTER 2012-10-18 14:30:13.362
그것은 정밀도 손실의 샘플 결과가를 재현하는 코드입니다. 10 진수 값을 그대로 유지하려면 어떻게해야합니까?
내 ide에서 이것을 시도했지만 같은 결과를 얻지 못했습니다. 인쇄 할 때마다 같은 결과가 나타납니다. 'Calendar calendar = Calendar.getInstance(); \t \t Timestamp timestamp = new Timestamp (새 날짜(). getTime()); \t \t System.out.println ("1 ->"+ timestamp); // \t \t Thread.currentThread(). sleep (1000); \t \t calendar.setTimeInMillis (timestamp.getTime()); \t \t timestamp = new Timestamp (calendar.getTimeInMillis()); \t \t System.out.println ("2 ->"+ 타임 스탬프); ' –
더 많은 컨텍스트를 제공 할 수 있습니까? 이 타임 스탬프는 어디서 얻습니까? 어떻게 출력합니까? – axtavt
예를 업데이트했는데, 잘못하기 전에 미안합니다. 내 잘못이었습니다. – William