<item>
<title>...</title>
<originallink>http://...</originallink>
<link>http://...</link>
<description> ... </description>
<pubDate>Mon, 27 Apr 2020 15:48:00 +0900</pubDate>
</item>
public class NewsDto {
private String link;
private String title;
private String description;
private Date pubDate;
Retrofit을 통해 API로 부터 받아온 데이터를 DateTime 형식으로 저장하고 싶을때는 ConverterFactory에 아래와 같이 DateFormat을 추가한 Gson 객체를 생성해주면 된다.
Gson gson = new GsonBuilder()
.setDateFormat("E, dd MMMM yyyy HH:mm:ss X")
.create();
mRetrofit = new Retrofit.Builder()
.baseUrl(BASE_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
만약 API에서 txt, csv 처럼 Retrofit이 지원하지 않는 형식의 데이터를 받아와야 한다면 Converter.Factory를 상속받는 사용자 정의 컨버터를 만들 수 있다.
패턴 | 정의 | ex |
---|---|---|
y | 연도 | 1997(yyyy), 12(yy) |
M | 달 | 7(M), 07(MM), Jul(MMM), July(MMMM) |
E | 요일 | Tuesday |
a | AM / PM | AM |
H | 시간(24) | 23 |
h | 시간(12) | 11 |
m | 분 | 52 |
s | 초 | 12 |
S | Millisecond | 966 |
z | Timezone | Pacific Standard Time; PST; GMT-08:00 |
Z | Timezone offset in hours (RFC) | -0800 |
X | Timezone offset in ISO | -08; -0800; -08:00 |
출처: https://www.journaldev.com/17899/java-simpledateformat-java-date-format