When writing a program, we usually calculate the start date and end date of year, month, and week. Here we provide a unified solution.
/// <Summary>
/// Type Enumeration During Declaration
/// </Summary>
Public Enum period {day, week, month, year };
/// <Summary>
/// Obtain the start and end dates of the specified period
/// </Summary>
/// <Param name = "Period"> Period type </param>
/// <Param name = "begindate"> Start date </param>
/// <Param name = "enddate"> end date </param>
Public static void getperiod (period, out datetime begindate, out datetime enddate)
{
Int year = datetime. Today. Year;
Int month = datetime. Today. month;
Switch (period)
{
Case period. Year: // year
Begindate = new datetime (year, 1, 1 );
Enddate = new datetime (year, 12, 31 );
Break;
Case period. Month: // month
Begindate = new datetime (year, month, 1 );
Enddate = begindate. addmonths (1). adddays (-1 );
Break;
Case period. Week: // week
Int week = (INT) datetime. Today. dayofweek;
If (week = 0) Week = 7; // Sunday
Begindate = datetime. Today. adddays (-(week-1 ));
Enddate = begindate. adddays (6 );
Break;
Default: // day
Begindate = datetime. today;
Enddate = datetime. today;
Break;
}
}