//using System;
//using System.IO;
//using System.Collections.Generic;
//수행일 주차 구하기
DateTime today = DateTime.Now; //당일
int year = today.Year;
int month = today.Month;
DayOfWeek rule = DayOfWeek.Monday; //주 시작 기준일(월요일)
DateTime firstDateOfMonth = today.AddDays(1-today.Day); //수행일 속한 월의 1일
DateTime firstDateOfMonthLastWeek = firstDateOfMonth.AddDays(-((firstDateOfMonth.DayOfWeek + 7 - rule) % 7)).AddDays(6); //월의 1일이 속한 주의 마지막 날(일요일)
DateTime firstDateOfWeek = today.AddDays(-((today.DayOfWeek + 7 - rule) % 7)); //수행일 속한 주의 첫 날(월요일)
DateTime lastDateOfWeek = today.AddDays(-((today.DayOfWeek + 7 - rule) % 7)).AddDays(6); //수행일 속한 주의 마지막 날(일요일)
int week = 0;
//수행일이 속한 월과 수행일이 속한 주의 마지막 날의 월이 다를 경우, 1주차
if(firstDateOfMonth.Month != lastDateOfWeek.Month) {
week = 1;
month += 1;
if(firstDateOfMonth.Year != lastDateOfWeek.Year) {
year += 1;
}
} else {
//수행일이 속한 주의 마지막 날의 일자 - 수행일이 속한 월의 마지막 요일의 일자 / 7 + 1
week = (lastDateOfWeek.Day - firstDateOfMonthLastWeek.Day) / 7 + 1;
}
return Convert.ToString(year) + "년 " + Convert.ToString(month) +"월 " + Convert.ToString(week) + "주차";
'개발노트 > C#' 카테고리의 다른 글
[C#] 파일명과 파일 생성일 정보를 활용하여 파일경로 찾기 (0) | 2024.03.25 |
---|---|
[C#] cmd 명령어 실행결과 추출 (0) | 2024.03.25 |
[C#] 네이버 API를 활용하여 뉴스기사 웹크롤링 - HtmlAgilityPack 라이브러리 (0) | 2024.03.22 |
[C#] 텍스트 파일 중간에 문자열 삽입하기 (0) | 2024.03.22 |
[C#] 폴더 내 동일한 파일명 존재할 경우, 파일명 순번처리 (0) | 2024.03.19 |