ambit1on
244
2020-12-19 16:56:15
5
195

두 날짜 사이의 모든 date를 String 형식으로 구할 수 있는 방법이 있을까요?


String startDate = "2020-01-01";

String endDate = "2020-01-04"; 이라고 가정을 하면

이 사이에 있는 값들을 스트링 형식으로 뽑아내고 싶은데 구글링을 해도 감이 잘안오네요..

String result = "2020-01-01,2020-01-02,2020-01-03,2020-01-04"; 이렇게 뽑아내는 방법이 없을까요?ㅠㅠ

0
  • 답변 5

  • 에르딘트
    2k
    2020-12-19 17:02:55

    반복문 돌리면 되죠~

    moment 같은걸로 add 하면서 format 으로 찍으면 되겠죠~

  • Frudy
    7k
    2020-12-19 17:47:36

    음.. 원하시는 형식이


    /**
    * @param startDate 시작일
    * @param endDate 종료일
    * @example ('2020-12-01', '2020-12-03') ==> ['2020-12-01', '2020-12-02', '2020-12-03']
    */
    declare function getDates(startDate: string, endDate: string): string[];

    이런 느낌이신거같아요.


    작성자님 언어는 Java..같은데


    저도 똑같지는 않지만 비슷한 기능이 필요해서 함수를 만들어본적이 있어요.

    내일내로 정리해서 okky에 올리고 링크 공유드리겠습니다.

  • occidere
    19
    2020-12-19 20:44:46

    Java 1.8 이상이시라면 LocalDate 를 사용하시면 편하게 처리하실 수 있습니다!



    List<String> dates = LocalDate.of(2020, 12, 1) // inclusive
    		.datesUntil(LocalDate.of(2020, 12, 5)) // exclusive
    		.map(ldt -> ldt.format(DateTimeFormatter.ISO_DATE)) // yyyy-MM-dd
    		.collect(Collectors.toList());
    
    System.out.println(dates); // [2020-12-01, 2020-12-02, 2020-12-03, 2020-12-04]


  • Frudy
    7k
    2020-12-19 21:01:27

    음.. 답변이 달리긴했네요,


    일단 저두 필요해서 구현해보고 정리한내용

    https://okky.kr/article/839449

    링크 올려놓고 갈게요.


    언어는 Typescript입니다.

  • ambit1on
    244
    2020-12-25 13:37:44

    @댓글다신 고마우신분들께

    감사합니다~~ 늦게 답달았네요ㅠㅠ

  • 로그인을 하시면 답변을 등록할 수 있습니다.