반응형
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#에서 날짜 변환과 포맷팅은 자주 쓰이는 기초지만, 상황에 맞게 제대로 사용하는 것이 중요합니다. 정리된 내용을 참고하여 여러분의 프로젝트에서도 안정적인 날짜 처리를 구현해 보세요!
반응형
'C#' 카테고리의 다른 글
🔍 C#에서 문자열 공백 제거(Trim)를 일괄 처리하는 가장 효율적인 방법은? (0) | 2025.04.24 |
---|---|
DataGridView Cell색깔 변경 - C# (0) | 2021.10.27 |
[C# 문제] 더하기 사이클 (While문을 사용한 문제) (0) | 2021.10.19 |
[C# 문제] 소수 구하기 (0) | 2021.10.08 |
[C# 문제] 윤년구하기 (0) | 2021.10.06 |
댓글