LocalDate를 SQL Date Java로 변환하는 방법은 무엇입니까?


98

LocalDate를 어떻게 변환 java.sql.Date합니까?

시도:

Record r = new Record();
LocalDate date = new Date(1967, 06, 22);
r.setDateOfBirth(new Date(date));

이것은 실패하고 (컴파일되지 않음) 내가 찾을 수있는 것은 Joda 시간 물건뿐입니다.

Java 8을 사용하고 있습니다.



2
@assylias 연결된 질문에 대한 답변이 여기에 제공된 것보다 더 나은 방법은 무엇입니까? 다른 질문은 이것의 중복으로 닫아야하며 그 반대의 경우도 마찬가지입니다.
Madara 's Ghost

1
@SecondRikudo는 LocalDate에서 Date로 또는 그 반대로 변환하는 방법을 보여 주므로 더 일반적으로 보입니다.
assylias

답변:


172

대답은 정말 간단합니다.

import java.sql.Date;
...
LocalDate locald = LocalDate.of(1967, 06, 22);
Date date = Date.valueOf(locald); // Magic happens here!
r.setDateOfBirth(date);

다른 방법으로 변환하려면 다음과 같이하십시오.

Date date = r.getDate();
LocalDate localD = date.toLocalDate();

rJOOQ에서 사용중인 .getDate()레코드이며 레코드에서 날짜를 가져 오는 방법입니다. date_of_birth라는 날짜 열이 있다고 가정하면 get 메서드를 호출해야합니다 getDateOfBirth().


4
이것은 java.time에 따라 "끔찍한 해킹"입니다 * 저자 :. stackoverflow.com/questions/33066904/...
Dherik

15
에 대한 질문에 당신이있는 거 참고로하는 것에 java.util.Date NOT java.sql.Date 이 질문에 대해이다.
Gemtastic

0

현재 날짜를 원하는 경우 :

Date date = Date.valueOf(LocalDate.now());

특정 날짜를 원하는 경우 :

Date date = Date.valueOf(LocalDate.of(1967, 06, 22));

1
누군가의 생년월일을 다룰 때와 같이 특정 날짜를 원한다면 현재 순간을 원하는 경우에만 더 빠릅니다.
Gemtastic

예, 객체를 생성하고 생성 날짜를 유지하려는 경우와 같이 현재 날짜를 삽입하는 것입니다.
RichardK

원래 질문은 모두 특정 날짜를 만드는 것이므로 주목해야 할 중요한 사항입니다. 거기에있는 모든 복사 붙여 넣기를위한 메모입니다. Date date = Date.valueOf(LocalDate.of(1967, 06, 22));"더 빨리"하고 싶다면 정답을 한 줄로 표시 할 수 있습니다.
Gemtastic

-1

LocalDate의 toDate () 메서드를 사용해 보셨습니까?

에서와 같이 :

Record r = new Record();
LocalDate date = new Date(1967, 06, 22);
r.setDateOfBirth(date.toDate());

일반적으로 "실패"라고 말하는 것보다 실패 방법 을 지정 하는 것이 좋습니다 .


솔직히 말해서 나는 당신이 구글에서 찾을 수 있도록 내 답변을 게시하기 위해 질문을 게시했습니다. 구들에게이 질문이나 대답이 없었기 때문에 나는 그것을 스스로 파악해야만했다.
Gemtastic

6
자, 이제 두 가지 대답이있을수록 더 즐겁습니다. 자신의 게시물에 답하는 데 잘못된 것이 없다고 생각합니다.
juhist

앞으로 제 자리에있는 누군가에게 도움이되기를 바랍니다.
Gemtastic 2015 년

2
OP는“[…] 내가 찾을 수있는 것은 Joda 시간 물건뿐입니다. Java 8을 해제합니다.” 그러나 귀하의 대답은 Java 8 답변 대신 Joda에 관한 것입니다.
Michael Piefel

1
LocalDate.toDate ()는 표준 라이브러리 버전이 아닌 LocalDate의 Joda 버전에만 존재합니다.
Rörd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.