C#获取每个年,月,周的起始日期和结束日期的方法

本文实例讲述了C#获取每个年,月,周的起始日期和结束日期的方法。分享给大家供大家参考,具体如下:

我们在写程序的时候往往要计算出年,月,周的开始日期和结束日期,在这里给出统一求解方法

/// <summary>
/// 声明期间类型枚举
/// </summary>
public enum Period {Day, Week, Month, Year};
/// <summary>
/// 获取指定期间的起止日期
/// </summary>
/// <param name="period">期间类型</param>
/// <param name="beginDate">开始日期</param>
/// <param name="endDate">结束日期</param>
public static void GetPeriod(Period period, out DateTime beginDate, out DateTime endDate)
{
  int year = DateTime.Today.Year;
  int month = DateTime.Today.Month;
  switch (period)
  {
    case Period.Year: //年
      beginDate = new DateTime(year, 1, 1);
      endDate = new DateTime(year, 12, 31);
      break;
    case Period.Month: //月
      beginDate = new DateTime(year, month, 1);
      endDate = beginDate.AddMonths(1).AddDays(-1);
      break;
    case Period.Week: //周
      int week = (int)DateTime.Today.DayOfWeek;
      if (week == 0) week = 7; //周日
      beginDate = DateTime.Today.AddDays(-(week - 1));
      endDate = beginDate.AddDays(6);
      break;
    default: //日
      beginDate = DateTime.Today;
      endDate = DateTime.Today;
      break;
  }
}

PS:这里再为大家推荐几款日期与时间相关工具供大家参考使用:

在日期天数差计算器:
http://tools.jb51.net/jisuanqi/onlinedatejsq

在线日期计算器/相差天数计算器:
http://tools.jb51.net/jisuanqi/datecalc

在线日期/天数计算器:
http://tools.jb51.net/jisuanqi/date_jisuanqi

在线阴历/阳历转换工具:
http://tools.jb51.net/bianmin/yinli2yangli

在线天数计算器(flash版):
http://tools.jb51.net/jisuanqi/datejsq

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#日期与时间操作技巧总结》、《C#字符串操作技巧总结》、《C#数组操作技巧总结》、《C#中XML文件操作技巧汇总》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》及《C#面向对象程序设计入门教程》

希望本文所述对大家C#程序设计有所帮助。

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。