取得某月和上个月第一天和最后一天的方法

  1. /// <summary>
  2. /// 取得某月的第一天
  3. /// </summary>
  4. /// <param name="datetime">要取得月份第一天的时间</param>
  5. /// <returns></returns>
  6. private DateTime FirstDayOfMonth(DateTime datetime)
  7. {
  8. return datetime.AddDays(1 - datetime.Day);
  9. }
  10. /**//// <summary>
  11. /// 取得某月的最后一天
  12. /// </summary>
  13. /// <param name="datetime">要取得月份最后一天的时间</param>
  14. /// <returns></returns>
  15. private DateTime LastDayOfMonth(DateTime datetime)
  16. return datetime.AddDays(1 - datetime.Day).AddMonths(1).AddDays(-1);
  17. }
  18. /**//// <summary>
  19. /// 取得上个月第一天
  20. /// </summary>
  21. /// <param name="datetime">要取得上个月第一天的当前时间</param>
  22. /// <returns></returns>
  23. private DateTime FirstDayOfPreviousMonth(DateTime datetime)
  24. {
  25. return datetime.AddDays(1 - datetime.Day).AddMonths(-1);
  26. }
  27. /**//// <summary>
  28. /// 取得上个月的最后一天
  29. /// </summary>
  30. /// <param name="datetime">要取得上个月最后一天的当前时间</param>
  31. /// <returns></returns>
  32. private DateTime LastDayOfPrdviousMonth(DateTime datetime)
  33. {
  34. return datetime.AddDays(1 - datetime.Day).AddDays(-1);
  35. }

C# DateTime 日期加1天 减一天 加一月 减一月 等方法

  1. //今天
  2. DateTime.Now.Date.ToShortDateString();
  3. //昨天,就是今天的日期减一
  4. DateTime.Now.AddDays(-1).ToShortDateString();
  5. //明天,同理,加一
  6. DateTime.Now.AddDays(1).ToShortDateString();
  7. //本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
  8. DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
  9. DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
  10. //如果你还不明白,再看一下中文显示星期几的方法就应该懂了
  11. //由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的
  12. string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };
  13. Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];
  14. //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样
  15. DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
  16. DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();
  17. //下周
  18. DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
  19. DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();
  20. //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
  21. //一般的写法
  22. DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天
  23. DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天
  24. //巧用C#里ToString的字符格式化更简便
  25. DateTime.Now.ToString("yyyy-MM-01");
  26. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();
  27. //上个月,减去一个月份
  28. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();
  29. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  30. //下个月,加去一个月份
  31. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();
  32. DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();
  33. //7天后
  34. DateTime.Now.Date.ToShortDateString();
  35. DateTime.Now.AddDays(7).ToShortDateString();
  36. //7天前
  37. DateTime.Now.AddDays(-7).ToShortDateString();
  38. DateTime.Now.Date.ToShortDateString();
  39. //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
  40. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
  41. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();
  42. //上年度,不用再解释了吧
  43. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();
  44. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();
  45. //下年度
  46. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();
  47. DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();
  48. //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
  49. //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
  50. DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
  51. //同理,本季度的最后一天就是下季度的第一天减一
  52. DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  53. //下季度,相信你们都知道了。。。。收工
  54. DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
  55. DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();
  56. //上季度
  57. DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");
  58. DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

C# DateTime 月第一天和最后一天 取法的更多相关文章

  1. WinForm------DateTime获取月第一天和最后一天取法

    转载: http://blog.csdn.net/livening/article/details/6049341/ 代码: /// <summary> /// 取得某月的第一天 /// ...

  2. 用js获取周、月第一天和最后一天(转载)

    var getCurrentWeek = function (day) { var days = ["周日", "周一", "周二", &q ...

  3. js 获取某月第一天和最后一天

    1.获取某月第一天和最后一天日期 function getDateByMonth (timeStamp) { let inDate = new Date(timeStamp) let year = i ...

  4. 获取某月第一天,最后一天的sql server脚本 【转】http://blog.csdn.net/chaoowang/article/details/9167969

    这是计算一个月第一天的SQL 脚本:    SELECT DATEADD(mm, DATEDIFF(mm,0,getdate()), 0) --当月的第一天 SELECT DATEADD(mm, DA ...

  5. 获取某月第一天,最后一天的sql server脚本

    本文来自:http://blog.csdn.net/chaoowang/article/details/9167969 这是计算一个月第一天的SQL 脚本:   SELECT DATEADD(mm, ...

  6. asp编程中获取上下两个月第一天和最后一天的代码

    经常在asp编程遇到要获取上个月第一天和最后一天的日期,获取下个月第一天和最后一天的日期.这里总结了一下,将这些asp代码全部列出来了,以便以后遇到的时候使用.    上个月第一天:<%=dat ...

  7. C#获取周的第一天、最后一天、月第一天和最后一天

    [csharp] view plaincopyprint? public class DateTimeTool { /// <summary> /// 获取指定日期所在周的第一天,星期天为 ...

  8. java时间计算,获取某月第一天和最后一天

    //获取前月的第一天 SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); //获取当前月第一天: Calendar ...

  9. java 获取当月第一天和最后一天 获取前一个月第一天和最后一天

    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");                    //获取前月的第一 ...

随机推荐

  1. @Component 元注解

    @Component 元注解 这是一个元注解,意思是它可以用于标注其他注解,被它标注的注解和它起到相同或者类似的作用.Spring用它定义了其他具有特定意义的注解如@Controller @Servi ...

  2. JavaScript学习总结(三)——逻辑And运算符详解

    在JavaScript中,逻辑 AND 运算符用双和号(&&)表示 1 var bTrue = true; 2 var bFalse = false; 3 var bResult = ...

  3. 0001——初涉MySQL

    MySQL是一个开源的关系型数据库管理系统. MySQL分为社区版本和企业版     MySQL安装方式: 1.MSI安装(Windows Installer) 2.ZIP安装 选择安装类型: 1.T ...

  4. SGU 110. Dungeon 计算几何 难度:3

    110. Dungeon time limit per test: 0.25 sec. memory limit per test: 4096 KB The mission of space expl ...

  5. [转]VirtualBox中的网络连接方式详解

    如果出现主机无法ping通虚拟机的情况,请首先确认虚拟机防火墙已关闭. 一.NAT模式 特点: 1.如果主机可以上网,虚拟机可以上网 2.虚拟机之间不能ping通 3.虚拟机可以ping通主机(此时p ...

  6. 对spring 对持久层的支持和数据库连接池的理解

    1.spring对持久层的支持在于,得到数据库连接之后操作上的封装,将操作简化了.也就是说以后操作sql语句就用XXXTemplate(就是一个工具类)对象了. 2.数据库连接池的作用只在于得到数据库 ...

  7. Android系统移植与驱动开发

    21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...

  8. DevExpress v17.2新版亮点—WinForms篇(五)

    用户界面套包DevExpress v17.2终于正式发布,本站将以连载的形式为大家介绍各版本新增内容.开篇介绍了DevExpress WinForms v17.2 Data Grid Control ...

  9. spring入门程序编写

    1.导入jar包

  10. Windows8连接网络后自动弹出Bing解决方法

    Windows8 网络连接速度很快( ADSL ),但是连接之后总是会打开 Bing,这是很烦人的一件事,因为你连接网络可能并不想打开浏览器,甚至,你讨厌 Bing. 我也一直被这个问题困扰了很久,用 ...