■ DateTime 구조체를 사용해 특정 요일의 다음 날짜를 구하는 방법을 보여준다.
▶ DateTime 구조체 : 특정 요일의 다음 날짜 구하기 예제 (C#)
1 2 3 4 5 6 7 |
DateTime sourceDate = DateTime.Now.Date; DateTime targetDate = GetNextDate(sourceDate, DayOfWeek.Monday); Console.WriteLine($"소스 날짜 : {sourceDate}"); Console.WriteLine($"타겟 날짜 : {targetDate}"); |
▶ DateTime 구조체 : 특정 요일의 다음 날짜 구하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#region 다음 날짜 구하기 - GetNextDate(sourceDate, dayOfWeek, exceptSourceDate) /// <summary> /// 다음 날짜 구하기 /// </summary> /// <param name="sourceDate">소스 날짜</param> /// <param name="dayOfWeek">요일</param> /// <param name="exceptSourceDate">소스 날짜 제외 여부</param> /// <returns>다음 날짜</returns> public DateTime GetNextDate(DateTime sourceDate, DayOfWeek dayOfWeek, bool exceptSourceDate = true) { int difference1 = dayOfWeek - sourceDate.DayOfWeek; int difference2 = sourceDate.Date.Subtract(DateTime.Today).Days + difference1; if(difference2 < 0 || difference2 >= (exceptSourceDate ? 6 : 7) && difference1 < 0) { difference1 += 7; } difference1 = difference1 % 7; difference1 += difference1 == 0 & exceptSourceDate ? 7 : 0; return sourceDate.AddDays(difference1); } #endregion |