엑셀에 저장되어있는 날짜(string)들을 현재날짜와 비교하는 방법이 있을까요?

엑셀에

2019.10.20
2019.05.23
2018.12.16

형식으로 적혀있는 날짜를

yyyy/MM/dd 형식으로 변환 후 현재날짜와 비교하는 방법이 있을까요?
(혹은 yyyy.MM.dd 그대로 비교 가능하다면 더 좋습니다!)

엑셀의 날짜 row를 ExcelDate라고 변수선언하고
출력날짜를 outDate로 새로 변수 선언하고 substring이용해서

outDate = DateTime.ParseExact(“ExcelDate.SubString(0,3)/ExcelDate.SubString(5,2)/ExcelDate.SubString(8,2)”, “yyyy/MM/dd”,system.globalization.cultureinfo.invariantculture)

해당 방법 외에도 구글링했을때 string을 date로 바꾸는 방법 여러개 찾아서 적용해봤는데
모두 실패했네요…

에러메세지:
System.FormatException: String was not recognized as a valid DateTime.

혹시 저와 비슷한 믄제 해결하신 분 계실까요?
답변 주시면 감사하겠습니다!

엑셀에 2019.10.20 이런식으로 있다면 데이터 테이블이나 변수에 저장한 후
Convert.ToDateTime(ExcelDate.ToString)
이런식으로 하면 날짜형식으로 변환이 됩니다
변환 후 현재 날짜와 비교한 결과의 날짜형식의 값을 outDate에 저장시키시면 되실겁니다

대소비교라면 큰 날짜를 outDate에 저장한 후
outDate.ToString(“yyyy.MM.dd”)로 출력하시면 ex)2019.10.20 이런형식으로 나오실 겁니다.

현재날짜는
Now.Date.ToString(“yyyy.MM.dd”) --> ex)2019.10.21

이런식으로 나오니 참고하시면 됩니다.

outDate = DateTime.ParseExact(row(0).ToString,“yyyy.MM.dd”,nothing).ToString(“yyyy-MM-dd”)

row(0) 자리에 있는 변수가 “yyyy.MM.dd” 형식이면 “yyyy-MM-dd” 형식으로 바꿔줍니다.

if 액티비티에서 outDate현재날짜(DateTime.Today.Tostring(“yyyy-MM-dd”))가 같은지 비교합니다.

1 Like