Posts
247
Comments
67
Trackbacks
4
Monatsanfang und Monatsende eines gegebenen Datums ermitteln

Kürzlich brauchte ich eine Methoden um den Monatsanfang und das Monatsende von einem gegebenen Datum zu ermitteln. In C# gibt es hierfür keine Methoden.

Den ersten Tag eines Monats ermitteln:
Vom gegebenen Datum den aktuellen Tag abziehen und 1 hinzufügen.

public static DateTime getMonthStart( DateTime GivenDate ) {
   DateTime MonthStart = new DateTime();
   MonthStart = GivenDate.AddDays( -GivenDate.Day+1 );

   return MonthStart;
}


Den letzten Tag des Monats ermitteln:
32 Tage zum Datum hinzufügen und dann die Tage es Datums abziehen.

public static DateTime getMonthEnd( DateTime givenDate )
{
   DateTime MonthEnd = new DateTime();
   MonthEnd = givenDate.AddDays( 32 );
   MonthEnd = MonthEnd.AddDays( -MonthEnd.Day );

   return MonthEnd;
}

posted on Friday, June 08, 2007 9:18 AM Print
Comments
Gravatar
# 
StuFF mc
8/21/2007 9:35 AM
Wie wäre es mit:

public static DateTime getMonthStart(DateTime GivenDate)
{
return GivenDate.AddDays(-GivenDate.Day + 1);
}

DateTime ist doch ein Value Type, oder ?

Gravatar
# 
Christian
8/21/2007 9:50 AM
ist auf jeden Fall kürzer
Gravatar
# 
Norbert
8/21/2007 10:37 AM
Warum nicht so:

public static DateTime GetFirstDayOfMonth(DateTime date)
{
return new DateTime(date.Year, date.Month, 1);
}

public static DateTime GetLastDayOfMonth(DateTime date)
{
return new DateTime(date.Year, date.Month, DateTime.DaysInMonth(date.Year, date.Month));
}
Gravatar
# 
Christian
8/21/2007 10:48 AM
ich stelle fest: in einem Weblog kann man einiges lernen :-)

Post Comment

Title *
Name *
Email
Url
Comment *  
Please add 1 and 5 and type the answer here: