본문 바로가기
C#

C# 문자열 "20250422"을 DateTime으로 변환하고, 다시 문자열로 바꾸는 방법

by 샤나엘 2025. 4. 22.
반응형

Datetime

 

C# 개발을 하다 보면 날짜를 "20250422"처럼 yyyyMMdd 형식의 문자열로 주고받는 경우가 많습니다. 이때 문자열을 DateTime 객체로 변환하거나, 반대로 DateTime을 문자열로 포맷팅하는 방법을 정확히 알아두면 다양한 업무에 활용할 수 있습니다.

이 글에서는 다음 내용을 중점적으로 다룹니다.

  • 문자열 "20250422" → DateTime으로 변환하기
  • DateTime → 문자열 "yyyyMMdd" 형식으로 변환하기
  • 예외 없이 안전하게 처리하는 방법
  • 실무에서 자주 쓰이는 포맷 예시

✅ 문자열 "20250422"을 DateTime으로 변환하기

string dateString = "20250422";
DateTime parsedDate = DateTime.ParseExact(dateString, "yyyyMMdd", null);
Console.WriteLine(parsedDate);  // 출력: 2025-04-22 오전 12:00:00

 

✅ 안전한 방법: TryParseExact

입력값이 유효하지 않을 가능성이 있다면, 예외를 발생시키지 않는 TryParseExact를 사용하는 것이 좋습니다.

string dateString = "20250422";

if (DateTime.TryParseExact(dateString, "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out DateTime result))
{
    Console.WriteLine(result);  // 출력: 2025-04-22 00:00:00
}
else
{
    Console.WriteLine("유효하지 않은 날짜 형식입니다.");
}

TryParseExact()는 실패 시 false를 반환하므로, 안정성이 높고 사용자 입력 검증에 유용합니다.


🔄 DateTime을 문자열로 변환하기 (yyyyMMdd, yyyy-MM-dd, yyyy/MM/dd 등 다양한 포맷)

C#에서 DateTime을 문자열로 포맷팅할 땐 ToString("포맷") 메서드를 사용합니다. 아래는 다양한 포맷 예시입니다.

DateTime date = new DateTime(2025, 4, 22);

string format1 = date.ToString("yyyyMMdd");    // "20250422"
string format2 = date.ToString("yyyy-MM-dd");  // "2025-04-22"
string format3 = date.ToString("yyyy/MM/dd");  // "2025/04/22"
string format4 = date.ToString("MM-dd-yyyy");  // "04-22-2025"
string format5 = date.ToString("dddd, MMMM dd, yyyy"); // "Tuesday, April 22, 2025"

Console.WriteLine(format1);
Console.WriteLine(format2);
Console.WriteLine(format3);
Console.WriteLine(format4);
Console.WriteLine(format5);

필요한 형식에 맞춰 자유롭게 포맷 문자열을 지정할 수 있어, 로그, 파일명, UI 등 다양한 곳에서 활용됩니다.


🧠 자주 사용하는 포맷 요약

포맷 문자열 결과  예시설명
yyyyMMdd 20250422 연월일 숫자만 출력
yyyy-MM-dd 2025-04-22 연-월-일 기본 날짜 포맷
yyyy/MM/dd 2025/04/22 슬래시 포함 포맷
dddd, MMMM dd Tuesday, April 22 요일 + 월 + 일
MM-dd-yyyy 04-22-2025 미국식 날짜 포맷

 


📌 마무리

  • 문자열 "20250422"을 DateTime.ParseExact 또는 TryParseExact로 안전하게 변환할 수 있습니다.
  • DateTime.ToString("yyyyMMdd") 등 포맷 지정으로 다양한 형식의 문자열 출력이 가능합니다.
  • 업무에서 사용하는 날짜 포맷은 요구사항에 맞게 자유롭게 지정할 수 있습니다.

C#에서 날짜 변환과 포맷팅은 자주 쓰이는 기초지만, 상황에 맞게 제대로 사용하는 것이 중요합니다. 정리된 내용을 참고하여 여러분의 프로젝트에서도 안정적인 날짜 처리를 구현해 보세요!

반응형

댓글