* 지속적으로 추가하고 있습니다. *
다른 값이 필요하면 요청 주세요.
에디터를 눌러 'dotnetfiddle.net'사이트로 가서 직접 날짜를 수정하여 사용해 보실 수 있습니다.
아래는 코드 입니다.
using System;
public class Program
{
public static void Main()
{
Console.WriteLine("//0. 기준날짜");
DateTime dateToday = DateTime.Today;
Console.WriteLine("//결과 : " + dateToday.ToString());
Console.WriteLine("DateTime dateToday = DateTime.Today;");
Console.WriteLine(" ");
Console.WriteLine("//0-2. 오늘 요일");
Console.WriteLine("//결과 : " + dateToday.DayOfWeek.ToString());
Console.WriteLine("DateTime dateToday = DateTime.Today;");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//1. 이번달 1일");
DateTime dtFirstDay = dateToday.AddDays(1 - dateToday.Day);
Console.WriteLine("//결과 : " + dtFirstDay.ToString());
Console.WriteLine("DateTime dtFirstDay = dateToday.AddDays(1 - dateToday.Day);");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//2-1. 요번달 마지막날짜");
DateTime dtMonthLastDay = dateToday.AddMonths(1).AddDays(-dateToday.Day);
Console.WriteLine("//결과 : " + dtMonthLastDay.ToString());
Console.WriteLine("DateTime dtMonthLastDay = dateToday.AddMonths(1).AddDays(dateToday.Day);");
Console.WriteLine(" ");
//https://learn.microsoft.com/ko-kr/dotnet/api/system.datetime.daysinmonth?view=net-7.0
Console.WriteLine("//2-2. 요번달 마지막날짜");
int nMonthLastDay2_Day = DateTime.DaysInMonth(dateToday.Year, dateToday.Month);
DateTime dtMonthLastDay2 = new DateTime(dateToday.Year, dateToday.Month, nMonthLastDay2_Day);
Console.WriteLine("//결과 : " + dtMonthLastDay2.ToString());
Console.WriteLine("int nMonthLastDay2_Day = DateTime.DaysInMonth(dateToday.Year, dateToday.Month);");
Console.WriteLine("DateTime dtMonthLastDay2 = new DateTime(dateToday.Year, dateToday.Month, nMonthLastDay2_Day);");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//3. 요번주의 남은 날짜(오늘포함, 토요일까지만)");
int intWeekLeftDayCount = 7 - (int)(dtFirstDay.DayOfWeek);
Console.WriteLine("//결과 : " + intWeekLeftDayCount.ToString());
Console.WriteLine("int intWeekLeftDayCount = 7 - (int)(dtFirstDay.DayOfWeek);");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//4. 요번달의 첫 일요일(1일 기준이기 때문에 1일이 일요일이 아니면 전달 마지막 일요일이 표시됨.)");
DateTime dtMonthFirstSunday = dtFirstDay.AddDays(0 - (int)(dtFirstDay.DayOfWeek));
Console.WriteLine("//결과 : " + dtMonthFirstSunday.ToString());
Console.WriteLine("DateTime dtMonthFirstSunday = dtFirstDay.AddDays(0 - (int)(dtFirstDay.DayOfWeek));");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//5. 마지막 주의 일요일");
DateTime dtLastSunday = dtMonthLastDay.AddDays(0 - (int)(dtMonthLastDay.DayOfWeek));
Console.WriteLine("//결과 : " + dtLastSunday.ToString());
Console.WriteLine("DateTime dtLastSunday = dtMonthLastDay.AddDays(0 - (int)(dtMonthLastDay.DayOfWeek));");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//6. 마지막 주의 일수");
int intLastWeekDayCount = dtMonthLastDay.DayOfYear - dtLastSunday.DayOfYear + 1;
Console.WriteLine("//결과 : " + intLastWeekDayCount.ToString());
Console.WriteLine("int intLastWeekDayCount = dtMonthLastDay.DayOfYear - dtLastSunday.DayOfYear + 1;");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//7. 이번 달의 주수를 가져오는 방법");
int intMonthWeekCount = ((dtMonthLastDay.DayOfYear - dtMonthFirstSunday.AddDays(7).DayOfYear) / 7) + 2;
Console.WriteLine("//결과 : " + intMonthWeekCount.ToString());
Console.WriteLine("int intMonthWeekCount = ((dtMonthLastDay.DayOfYear - dtMonthFirstSunday.AddDays(7).DayOfYear) / 7) + 2;");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//8. 영어날짜");
string strNowEng = String.Format(new System.Globalization.CultureInfo("en-US"), "{0:dddddddddd} {0:MMMMMMMM} {0:d} {0:hh}:{0:mm}:{0:ss} {0:yyyy}", dateToday.ToUniversalTime());
Console.WriteLine("//결과 : " + strNowEng.ToString());
Console.WriteLine("string strNowEng = String.Format(new System.Globalization.CultureInfo(\"en-US\"), \"{0:dddddddddd} {0:MMMMMMMM} {0:d} {0:hh}:{0:mm}:{0:ss} {0:yyyy}\", dateToday.ToUniversalTime());");
Console.WriteLine(" ");
Console.WriteLine(" ");
Console.WriteLine("//9-1. 요번주의 원하는 요일의 날짜 구하기(여기서는 금요일)");
DateTime fridayDate = dateToday.AddDays(Convert.ToInt32(DayOfWeek.Friday) - Convert.ToInt32(dateToday.DayOfWeek));
Console.WriteLine("//결과 : " + fridayDate.ToString());
Console.WriteLine("DateTime fridayDate = dateToday.AddDays(Convert.ToInt32(DayOfWeek.Friday) - Convert.ToInt32(dateToday.DayOfWeek));");
Console.WriteLine(" ");
Console.WriteLine("//9-2. 요번주의 일요일 날짜");
DateTime dateSunday = dateToday.AddDays(Convert.ToInt32(DayOfWeek.Sunday) - Convert.ToInt32(dateToday.DayOfWeek));
Console.WriteLine("//결과 : " + dateSunday.ToString());
Console.WriteLine("DateTime dateSunday = dateToday.AddDays(Convert.ToInt32(DayOfWeek.Sunday) - Convert.ToInt32(dateToday.DayOfWeek));");
Console.WriteLine(" ");
Console.WriteLine(" ");
}
}
- 2022.06.24
이번달 마지막 날짜 구하는 식의 오류 수정
필요없는 코드 제거
- 2014.01.08
: 3번 이번주 일요일 날짜 구하는 식 제거
: 11-1번에 이번주 일요일 날짜 구하는 식 추가
- 2014.01.08
: 1월달 주수 계산이 잘못 되던것 수정
업데이트 한지가 오래되었는데 여전히 별문제 없이 잘 돌아가는 거 같습니다.
실버라이트가 지원이 끊기면서 닷넷피들로 바꿔봤는데 아직 인터페이스 문제가 많네요 ㅡ,.ㅡ;;