본문 바로가기
C#/WPF

[C#/WPF] DateTime 특정 요일 구하기(DayOfWeek)

by 코딩이라구 2023. 11. 15.

C#에서 DateTime은 통하여 연월일 및 시간 등을 구하는 클래스입니다. 이번에는 DateTime을 이용하여 특정 날짜에 대한 요일을 구해보는 방법에 대하여 알아보도록 하겠습니다. 특정 요일 또는 주말 등을 지정하여 구하는 방식에서 많이 사용합니다.


C# DateTime 특정 날짜의 요일 구하기

 

1. DateTime을 이용한 요일 구하기

  • 특정 날짜의 요일을 구하는 방법에서 사용되는 열거형 enum 인 DayOfWeek를 사용합니다.
  • DayOfWeek의 값은 이미 C#에서 각각의 요일이 숫자 형식으로 정의되어 있어서 사용하기에 매우 편리합니다.
  • 일요일(Sunday)의 값은 0이며, 0부터 6까지 순서대로 증가하며 토요일(Saturday)의 값은 6입니다.

2. 특정 날짜의 요일을 구하는 예제

날짜를 요일로 변환하는 함수 생성

// ● 날짜를 요일로 변환하는 함수
private string CheckDayOfWeek(string strDay)
{
	// return string
	string strRet = "";
    
	// 날짜 DateTime으로 변환
	DateTime dt = Convert.ToDateTime(strDay);
	
	// 요일 불러오기
	int nWeek = (int)dt.DayOfWeek;
    
	// 요일 한글로 변환
	// ( 0 = 일요일 ~ 6 = 토요일)
	switch(nWeek)
	{
		case 0:
			strRet = "일";
			break;
		case 1:
			strRet = "월";
			break;
		case 2:
			strRet = "화";
			break;
		case 3:
			strRet = "수";
			break;
		case 4:
			strRet = "목";
			break;
		case 5:
			strRet = "금";
			break;
		case 6:
			strRet = "토";
			break;
		default:
			break;
	}
    
	return strRet;
}

CheckDayOfWeek 함수를 호출하여 요일 받기

// ● CheckDayOfWeek를 호출하여 요일 받기
private void SetDayOfWeek()
{
	string day = "2023-11-11";
	Console.WriteLine(string.Format("{0}({1})", day, CheckDayOfWeek(day)));
	
	day = "2023-11-15";
	Console.WriteLine(string.Format("{0}({1})", day, CheckDayOfWeek(day)));
	
	day = "2023-11-20";
	Console.WriteLine(string.Format("{0}({1})", day, CheckDayOfWeek(day)));
	
	day = "2023-11-26";
	Console.WriteLine(string.Format("{0}({1})", day, CheckDayOfWeek(day)));
}

결과

입력 날짜 출력값
2023-11-11 2023-11-11(토)
2023-11-15 2023-11-15(수)
2023-11-20 2023-11-20(월)
2023-11-26 2023-11-26(일)

 

이상으로 C#에서 DateTime의 속성인 DayOfWeek를 사용하여 특정 날짜의 요일을 구하는 방법에 대하여 알아보았습니다. DateTime의 쓰임새가 너무 많은 만큼 더욱 많은 자료를 다룰 수 있도록 노력하겠습니다. 감사합니다.


C# 유용한 자료

 

[C#/WPF] 문자열이 숫자인지 판단(Regex.IsMatch, Int32.TryParse)

C# 프로그래밍에서 문자열이 숫자인지 판단하는 두 가지 방법에 대하여 알아보도록 하겠습니다. 첫 번째로는 정규식을 사용한 숫자 판별 방식이며, 두 번째는 문자열을 숫자로 데이터형을 변환

chragu.com

 

C# 숫자를 문자로 형변환 (int to string)

C# 프로그래밍에서 숫자를 문자로 바꾸는 경우가 자주 발생합니다. 이번에는 C#에서 데이터 타입을 숫자에서 문자로 형 변환(int to string)하는 다양한 방법에 대하여 알아보도록 하겠습니다. C# int

chragu.com

 

[C#/WPF] Math 클래스 (올림, 반올림, 내림)

C#에서 실수값을 정수값으로 올림 또는 반올림, 내림을 하기 위해서는 Math 클래스를 사용하실 수 있습니다. Math 클래스는 수학적 기능의 메서드가 다수 존재합니다. 이번에는 Math클래스의 올림,

chragu.com

댓글