날짜 계산 질문 드립니다

안녕하세요. 도움 좀 받고 싶어 질문 드립니다.

ex) 이번달 마지막 주 를 예로 들면
2021.06.28
2021.06.29
2021.06.30
2021.07.01
2021.07.02
매월 매일 물량을 기록하는 엑셀파일이 있습니다.
엑셀에는 28,29,30,01,02 이렇게 일자만 써주고 있습니다.(각 일자를 변수 ‘주문일자’ 로 읽음)
그래서, 현재 now.tostring(“yyyyMM”)+‘주문일자’ 로 담아서 원하는 곳에 쓰고 있는데
이러면, 실제 날짜가 2021.07.01이 되는날 2021.06.01 로 나오게 됩니다…
저는 01일이 되면 앞에 7로 바뀌게 하고 싶습니다.
now.tostring(“yyyyMM”) 말고 다른 방법이 있을까요?

안녕하세요.

매월초에 매일 물량을 기록한다는 말인가요? 월이 넘어가는 경우에 대해 처리를 원하시는 것 같긴한데 그냥 아래와 같이 처리를 못하는 상황인건가 싶어서요

Now.AddDays(1).ToString(“yyyy.MM.dd”) // 오늘날짜가 06.29 이면 2021-06-30
Now.AddDays(2).ToString(“yyyy.MM.dd”) // 오늘날짜가 06.29 이면 2021-07-01
Now.AddDays(3).ToString(“yyyy.MM.dd”) // 오늘날짜가 06.29 이면 2021-07-02

매월 마지막 날 수행을 한다고 가정하고 입력은 28,29,30,01,02 라고 가정 한다.
여기서 30일이 오늘날짜라고 가정하면

  1. 28,29,30,01,02 를 배열로 변환
  2. 오늘날짜의 위치 파악
  3. 해당 인덱스를 기준으로 앞 위치는 인덱스 위치에서 -1씩, 뒤의 위치는 +1씩 증가하여 날짜 계산

아래 코드 참고하세요.
Dim inputs As String = “28,29,30,01,02”
Dim today As Integer = 30
Dim arr() As Integer = inputs.Split(“,”).Select(Function(i) CInt(i)).ToArray
Dim todayIndex As Integer = Array.FindIndex(arr,Function(d) d=today)
Dim dateArr() As String =
arr.Select(Function(d,i) DateTime.Today.
AddDays(i - todayIndex).ToString(“yyyyMMdd”)).ToArray

'arr => {28,29,30,1,2}
'todayIndex => 2
'dateArr => {“20210628”,“20210629”,“20210630”,“20210701”,“20210702”}