/// <summary>间隔的天数
/// 获取两个传入日期间隔的天数
/// </summary>
/// <param name="bDate">起始日期</param>
/// <param name="eDate">结束日期</param>
/// <returns></returns>
public static int getDiffDays(DateTime bDate, DateTime eDate)
{
TimeSpan ts = new TimeSpan();
ts = eDate - bDate;
return (int)ts.TotalDays + 1; //是否+1,根据需求定.
}
/// <summary>
/// 获取两个传入日期间隔的月份
/// </summary>
/// <param name="date1">起始日期</param>
/// <param name="date2">结束日期</param>
/// <returns></returns>
public int getDiffMonth(DateTime date1, DateTime date2)
{
int year1 = date1.Year;
int year2 = date2.Year;
int month1 = date1.Month;
int month2 = date2.Month;
int months = 12 * (year2 - year1) + (month2 - month1);
return months;
}
/// <summary>
/// 取得某月的第一天
/// </summary>
/// <param name="datetime">要取得月份第一天的时间</param>
/// <returns></returns>
private DateTime FirstDayOfMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day);
}
//// <summary>
/// 取得某月的最后一天
/// </summary>
/// <param name="datetime">要取得月份最后一天的时间</param>
/// <returns></returns>
private DateTime LastDayOfMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1);
}
//// <summary>
/// 取得上个月第一天
/// </summary>
/// <param name="datetime">要取得上个月第一天的当前时间</param>
/// <returns></returns>
private DateTime FirstDayOfPreviousMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddMonths(-1);
}
//// <summary>
/// 取得上个月的最后一天
/// </summary>
/// <param name="datetime">要取得上个月最后一天的当前时间</param>
/// <returns></returns>
private DateTime LastDayOfPrdviousMonth(DateTime datetime)
{
return datetime.AddDays(1 - datetime.Day).AddDays(-1);
}

这段代码展示了如何使用C#获取某个月的第一天和最后一天,以及上个月的首尾日期。通过定义一系列私有方法,如FirstDayOfMonth、LastDayOfMonth、FirstDayOfPreviousMonth和LastDayOfPrdviousMonth,可以方便地计算出给定日期所在月份以及前一月份的起止日期。
3413

被折叠的 条评论
为什么被折叠?



