C#으로 날짜를 전달하여 평일의 번호를 찾으려고합니다.날짜로 평일의 평일 찾기
예 : '2013 년 3 월 6 일 (2013 년 3 월 6 일) '을 전달하면 함수가 월의 첫 번째 수요일을 말합니다. "3/1/2013 (2013 년 1 월 3 일)"을 전달하면 함수가 월의 첫 번째 금요일을 말해야합니다. "2012 년 3 월 13 일 (2013 년 3 월 13 일)"에 전달하면 함수에서 월 2 번째 수요일을 말합니다.
나는이 기능을 사용하려고했지만, 그것 (즉, 통과 "2013년 3월 6일 (6 월 2013)"를 반환 2) 달의 주를 반환 :
public static int GetWeekOfMonth(DateTime date)
{
DateTime beginningOfMonth = new DateTime(date.Year, date.Month, 1);
while (date.Date.AddDays(1).DayOfWeek != CultureInfo.CurrentCulture.DateTimeFormat.FirstDayOfWeek)
date = date.AddDays(1);
return (int)Math.Truncate((double)date.Subtract(beginningOfMonth).TotalDays/7f) + 1;
}
에 제안하십시오 달의 평일의 숫자를 얻는 방법. 만 대신 간단한의 등, "2", "3", 예 : "1"로 문자열을 반환 여기
public static int GetWeekOfMonth(DateTime dateTime)
{
DayOfWeek dayOfWeek = dateTime.DayOfWeek;
DateTime dayStep = new DateTime(dateTime.Year, dateTime.Month, 1);
int returnValue = 0;
while (dayStep <= dateTime)
{
if (dayStep.DayOfWeek == dayOfWeek)
{
returnValue++;
}
dayStep = dayStep.AddDays(1);
}
return returnValue;
}
이 같은 방법 : 여기