[Java] java. sql. Timestamp (타임스탬프)
4094 단어 Java
상속 부류: java. util. Date
모든 실 현 된 인터페이스: Serializable, Cloneable, Comparable
주요 구조 방법:
Timestamp(long millis)
밀리초 시간 치 구조 Timestamp
대상 을 사용한다.Timestamp 는 JDBC API 가 이 종 류 를 SQL
TIMESTAMP
값 으로 표시 할 수 있 도록 합 니 다.이것 은 소수 초 에서 나 초 단위 의 정밀 도 를 허용 하 는 규범 을 통 해 SQL TIMESTAMP
소수 초 값 을 저장 하 는 능력 을 추가 합 니 다.Timestamp 도 타임스탬프 값 을 지원 하 는 JDBC 전의 문법 을 포맷 하고 해석 하 는 능력 을 제공 합 니 다. 주로 데이터베이스 와 연 결 된 날 짜 를 작성 하 는 데 사 용 됩 니 다.
예 를 들 면:
ResultSet 에서 우리 가 자주 사용 하 는 setDate 나 getDate 의 데이터 형식 은 java. sql. Date 이 며, 평소 자바 프로그램 에 서 는 java. util. Date 를 사용 하 는 습관 이 있 습 니 다.
그러나 java. sql. Date 는 날짜 데이터 만 저장 하고 시간 데 이 터 는 저장 하지 않 습 니 다. 이러한 규범 에 맞 는 유형 은 사실 시간 분 초 를 데이터베이스 에 저장 하지 않 았 기 때문에 액세스 할 때 Timestamp 의 setTimestamp () 와
getTimestamp()。
정리 1: String -- > Timestamp:
Timestamp 를 String 으로 변환 하면 직접. toString () 을 사용 할 수 있 지만, 작은 숫자 뒤의 밀리초 값 이 필요 하지 않 을 때 도 있 습 니 다. DateFormat 을 통 해 String 으로 변환 할 때 형식 을 다시 정의 해 야 합 니 다.
Timestamp 의 value Of () 방법 을 사용 하여,
Timestamp time= new Timestamp(System.currentTimeMillis());//
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String timeStr = df.format(time);
time = Timestamp.valueOf(timeStr);
System.out.println(time);//2017-05-06 15:54:21.0
정리 2: java. util. Date -- > Timestamp
방법 1: Timestamp 의 구조 방법 을 사용 합 니 다.
Date date = new Date();
Timestamp ts = new Timestamp(date.getTime());
방식 2:
메모: 부모 클래스 는 하위 클래스 로 직접 전환 할 수 없습니다. 중간 String 을 사용 하고 format 의 형식 은 Timestamp 의 문자열 형식 과 일치 해 야 합 니 다.
java.lang.IllegalArgumentException: Timestamp format must be yyyy-mm-dd hh:mm:ss[.fffffffff]
Date date = new Date();
DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = sdf.format(date);
Timestamp ts = Timestamp.valueOf(dateStr); //2017-05-06 15:54:21.0
정리 3:
구조 방법 을 통 해 Timestamp 대상 을 만 들 고 밀리초 값 을 얻 는 방법 은 다음 과 같은 세 가지 가 있 습 니 다.
방법 1:
System.currentTimeMillis();
방법 2:
Calendar.getInstance().getTimeInMillis();
방법 3:
new Date().getTime();
테스트 증명: System. currentTimeMillis () 이런 방식 이 속도 가 가장 빠르다
Calendar. getInstance (). getTimeInMillis () 는 시간 대 문 제 를 처리 하 는 데 시간 이 많이 걸 리 기 때문에 속도 가 가장 느리다.
그래서 첫 번 째 방식 을 많이 사용 하 는 것 을 권장 합 니 다.
주의: 그리니치 평균 시간 그리니치 표준 시간
. Net 에서 발생 하 는 시간 은 모두 현재 시간 대의 현재 시간 이 고 자바 의 currentTimeMillis () 방법 은 GMT 에 비해 얻 은 시간 입 니 다.
중국 이 있 는 시간 대 는 + 8 구 이기 때문에 시간 이 8 시간 차이 가 납 니 다!
방법 요약 boolean after(Timestamp ts) 이 Timestamp 대상 이 주어진 Timestamp 대상 보다 늦 었 는 지 표시 합 니 다. boolean before(Timestamp ts) 이 Timestamp 대상 이 주어진 Timestamp 대상 보다 빠 른 지 알려 줍 니 다. int compareTo(Date o) 이 Timestamp 대상 을 주어진 Date (Timestamp 대상 이 어야 함) 와 비교 합 니 다. int compareTo(Timestamp ts) 이 Timestamp 대상 을 주어진 Timestamp 대상 과 비교 합 니 다. boolean equals(Object ts) 이 대상 이 주어진 Timestamp 대상 과 같 는 지 테스트 합 니 다. boolean equals(Timestamp ts) 이 Timestamp 대상 이 주어진 Timestamp 대상 과 같 는 지 테스트 합 니 다. int getNanos() 이 Timestamp 대상 의 nanos 값 을 가 져 옵 니 다. long getTime() 이 Timestamp 대상 이 표시 한 1970 년 1 월 1 일 00: 00: 00 GMT 이후 밀리초 수 를 되 돌려 줍 니 다. void setNanos(int n) 이 Timestamp 대상 의 nanos 필드 를 주어진 값 으로 설정 합 니 다. void setTime(long time) 이 Timestamp 대상 을 설정 하여 1970 년 1 월 1 일 00: 00: 00 GMT 이후 time 밀리초 의 시간 을 표시 합 니 다. String toString() JDBC 타임 스탬프 전의 형식 으로 타임 스탬프 를 편성 합 니 다. static Timestamp valueOf(String s) JDBC 타임스탬프 전의 형식 을 사용 하 는 String 대상 을 Timestamp 값 으로 변환 합 니 다.
인 스 턴 스 코드:
tLotteryAnnouncement.setDateTime(new Timestamp(System.currentTimeMillis()));
if(StringUtils.isNotBlank(tIsusesKj.getOpenTime())){
tLotteryAnnouncement.setOpenTime(Timestamp.valueOf(tIsusesKj.getOpenTime()));
}else{
tLotteryAnnouncement.setOpenTime(new Timestamp(tIsusesKj.getModifyDate().getTime()));
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JPA + QueryDSL 계층형 댓글, 대댓글 구현(2)이번엔 전편에 이어서 계층형 댓글, 대댓글을 다시 리팩토링해볼 예정이다. 이전 게시글에서는 계층형 댓글, 대댓글을 구현은 되었지만 N+1 문제가 있었다. 이번에는 그 N+1 문제를 해결해 볼 것이다. 위의 로직은 이...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.