Java - LocalDate & Date

신래은·2023년 2월 15일
0

캘린더를 이용하여 해당 일이 일년의 몇주차인지를 구하는 방법

// LocalDate를 Date 타입으로 변환
    Date day = java.sql.Date.valueOf(date);
    // 캘린더 변수를 생성하고 date를 입력
    Calendar cal = Calendar.getInstance();
		cal.setTime(day);
		//각각의 원하는 데이터를 얻어 옵니다.
		Integer weekNum = cal.get(Calendar.WEEK_OF_YEAR); // 해당년의 주차 구해옵니다.
    // int dayNum = cal.get(Calendar.DAY_OF_WEEK); // 요일을 구해옵니다

JPA를 이용하여 같은 주와 같은 달의 데이터를 가져오는 방법

// repository

@Query(value = "select a from WeightInfoEntity a where week(a.weiDate) = week(:date) order by a.weiDate")
  List<WeightInfoEntity> weightListByWeek(@Param("date") LocalDate date);

  @Query(value = "select a from WeightInfoEntity a where month(a.weiDate) = month(:date) order by a.weiDate")
  List<WeightInfoEntity> weightListByMonth (@Param("date") LocalDate date);

특정 달의 일수 구하는 방법

LocalDate newDate = LocalDate.of(2023, 02,01);
//해당 달의 일수를 돌려받을때 사용합니다.
//int lengthOfMon = newDate.lengthOfMonth();
//출력해서 결과를 알아 봅니다.
print.out.println("해당하는 달의 일수 lengthOfMon : "+lengthOfMon);	

LocalDateTime을 LocalDate로 바꾸는 방법

DayFoodCompleteEntity comp = DayFoodCompleteEntity.builder()
            .dfcSeq(null)
            .dfcTotalCal(entity.getDfKcal())
            .member(member)
            .dfcGoal(success)
            .dfcDate(LocalDate.of(entity.getDfRegDt().getYear(),entity.getDfRegDt().getMonth(), entity.getDfRegDt().getDayOfMonth()))
            .build();

0개의 댓글