반응형

localdatetime 6

Gson을 사용한 Java 8 LocalDateTime의 직렬화 및 역직렬화

1. 현상 JSON 데이터에는 "2014-03-10T18:46:40.000Z"와 같은 날짜 및 시간 속성이 있으며, 이를 Java 8의 LocalDateTime으로 역직렬화하려고 시도했을 때 다음과 같은 오류가 발생합니다: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING. 2. 원인 이 문제는 Gson이 JSON 문자열을 파싱하고 LocalDateTime 필드에 매핑하려고 시도할 때 발생합니다. Gson은 기본적으로 JSON 문자열을 LocalDateTime으로 변환하지 못하므로 LocalDateTime 필드가 문자열로 처리됩니다. 3. 해결방법 LocalDateTime과 JSON 날짜 문자열 간의 매핑을 처리하기 위해 Gson..

back end/java 2023.11.05

Get first and last day of month, LocalDate

특정 month의 1일과 마지막 날짜를 구하고 싶다면 아래와 같이 하면 됩니다. 방법 1. LocalDate monthstart = LocalDate.of(year,month,1); LocalDate monthend = monthstart.plusDays(monthstart.lengthOfMonth()-1); 방법 2. Java에서 제공하는 YearMonth class 사용 YearMonth month = YearMonth.from(date); LocalDate start = month.atDay(1); LocalDate end = month.atEndOfMonth(); 만약, 이번달의 1일과 마지막 날짜를 구하고 싶다면 아래와 같이 할 수 있습니다. LocalDate start = YearMonth.n..

웹 개발 2020.12.25

Spring boot] json 형식으로 return 시, date format

Spring boot에서 아래와 같은 class를 return하는 API가 있다고 가정합니다. public class User { private String userId; private Date createDate; } createDate가 String이라면 상관없지만, 위와 같이 Date형태이거나, LocalDateTime 같은 자료형이라면 원하는 형태로 return되지 않습니다. 이 때, 아래와 같이 하면 Date를 내가 원하는 format으로 return 할 수 있습니다. 방법 1. application.properties에 아래와 같이 setting spring.jackson.date-format=yyyy-MM-dd 방법 2. 멤버 변수에 다음과 같이 setting public class User..

웹 개발 2020.12.13

Java에서 날짜, 시간 제대로 사용하기(LocalDate, LocalTime, LocalDateTime)

1. 사용하지 않는 게 좋은 Calendar, Date 클래스 Java를 처음 공부할 때나 단순하게 표현할 때는 Calendar, Date 클래스를 사용할 수 있지만, 문제가 많은 클래스 이기 때문에 실무에서는 사용하지 않는 게 좋습니다. 이런 이유로 많은 개발자들이 Joda-Time 같은 오픈소스 라이브러리를 사용했는데 JDK 8부터는 개선된 날짜/시간 API가 제공됩니다. 2. Calendar, Date 클래스의 문제점 1) 불변 객체가 아니다. Calendar와 Date 클래스에서 set 메서드를 호출해서 날짜를 저장하면 연산 결과는 같은 인스턴스에 저장됩니다. 이 때문에 Calendar 객체나 Date 객체가 여러 객체에서 공유되면 한 곳에서 바꾼 값이 다른 곳에 영향을 미치는 부작용이 생길 수 ..

웹 개발 2020.09.22
728x90
반응형
loading