2017년 2월 18일 토요일

C# : 날자 문자열을 날자로 변환

문자열로 되어 있는 날자를 날자 변환등의 이유로 날자 타입으로 변환 해야 할 경우가 있다.

만약 변환하고자 하는 날자 문자열이 날자 형태로 되어 있다면 간단히 변환 할 수가 있다.
보통 이런 식으로 하면 해결 되는데...


이렇게 "DateTime.Parse()" 를 쓰면...


이렇게 간단히 날자 형식으로 변환이 된다.
문제는 날자 문자열이 일반적인 날자 형식이 아닐 경우 인데...

예를 들어 "20170217" 같은 경우.



일반적인 날자 형태가 아니므로 날자 변환이 되지 않는다.
이럴 경우 문자열을 분해 해서 날자 형태로 만든 후 변환해도 되지만, 간단하게는...


이렇게 "DateTime.ParseExact()" 를 써도 된다.
변환할 문자열의 날자 구성이 어떤 형태로 되어 있는지만 잘 지정하면...


이렇게 제대로 날자로 변환 해 준다.

당연히 "20170217131122" 를 "yyyyMMddHHmmss" 이렇게 시분초까지 지정해도 형태만 정확이 일치하면 잘 변환 해 준다.



이렇게 문자열을 날자로 변환해서, 날자 조작을 한 후 원하는 형태로 날자를 출력하는게 가능해 진다.