摘自:http://www.cnblogs.com/lema/archive/2012/11/27/2790599.html

//今天

DateTime.Now.Date.ToShortDateString();

//昨天,就是今天的日期减一

DateTime.Now.AddDays(-1).ToShortDateString();

//明天,同理,加一

DateTime.Now.AddDays(1).ToShortDateString();

//本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止

DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();

DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();

//如果你还不明白,再看一下中文显示星期几的方法就应该懂了

//由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的

string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };

Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];

//上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样

DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();

DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();

//本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的

//一般的写法

DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"; //第一天

DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天

//巧用C#里ToString的字符格式化更简便

DateTime.Now.ToString("yyyy-MM-01");

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();

//上个月,减去一个月份

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

//下个月,加去一个月份

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();

DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();

//7天后

DateTime.Now.Date.ToShortDateString();

DateTime.Now.AddDays(7).ToShortDateString();

//7天前

DateTime.Now.AddDays(-7).ToShortDateString();

DateTime.Now.Date.ToShortDateString();

//本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();

//上年度,不用再解释了吧

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();

//下年度

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();

DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();

//本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月

//首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了

DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");

//同理,本季度的最后一天就是下季度的第一天减一

DateTime.Parse(DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

//下季度,相信你们都知道了。。。。收工

DateTime.Now.AddMonths(3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");

DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

//上季度

DateTime.Now.AddMonths(-3 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01");

DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();

转载于:https://www.cnblogs.com/h20064528/archive/2012/11/27/2791129.html

【转】C# DateTime 日期计算相关推荐

  1. 标 题:[转帖]SQL Server日期计算(收藏)

    分    类:数据库相关 关键字 :日期 相    关:作者:未知    来源:xpilot 的 Blog 引    用:[0]http://goaler.xicp.net/TrackBack.asp ...

  2. python时间计算_python利用datetime模块计算时间差、当前时间多加一天、一小时、一分钟和常用操作...

    记录下试用datetime的一些常用操作In [1]: from datetime import datetime In [2]: aa = datetime.now() In [3]: aa Out ...

  3. SQL SERVER 常用日期计算

    通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函 ...

  4. SQL Server日期计算

    通常,你需要获得当前日期和计算一些其他的日期,例如,你的程序可能需要判断一个月的第一天或者最后一天.你们大部分人大概都知道怎样把日期进行分割(年.月.日等),然后仅仅用分割出来的年.月.日等放在几个函 ...

  5. Java SE 8新功能介绍:使用新的DateTime API计算时间跨度

    使用Java SE 8新的DateTime API JSR 310-可以实现更清晰,可读且功能强大的编码. Java SE 8,JSR 310 在上一篇文章" 使用Streams API处理 ...

  6. flutter DateTime 日期时间详细解析 Dart语言基础

    也许你迷茫,但是我想说,在你迷茫的同时,保持本心,过好今天就好. 学习Dart语言,首先我们需要使用到一个语言调试工具 DartPad 在 Dart 中,DateTime 对象代表某个时刻,时区可以是 ...

  7. Java各种日期计算

    2019独角兽企业重金招聘Python工程师标准>>> 1.时间格式化通用处理. /**      * 将用户给定的时间以指定的时间格式进行格式化.<br/>      ...

  8. 根据日期计算当月有多少天

    -- 1.删除测试用表 IF   OBJECT_ID (N ' Test ' , N ' U ' )  IS   NOT   NULL      DROP   TABLE  Test -- 2.建立测 ...

  9. Java 周日期计算工具,获取当前第几周,按周数获取周一至周日,按日期获取周一至周日

    记一个自己写的工具类: 1.按时间获取当前第几周 getzs 3.按日期获取周一至周日getgetBetweenDates2 4.按年份跟周数获取周一至周日 getgetBetweenDates3 结 ...

最新文章

  1. 树莓派视觉小车 -- OpenCV巡线(HSL色彩空间、PID)
  2. P2055 [ZJOI2009]假期的宿舍
  3. node mysql await_node.js中对 mysql 进行增删改查等操作和async,await处理
  4. SAP MM 没有启用QM的前提下可以从QI库存里退货给Vendor?
  5. 利用redis漏洞远程添加计划任务挖取比特币
  6. 10、单机运行环境搭建之 --Windows下mysqldump 备份与还原数据库
  7. lombok插件:Data自动get/set方法, Slf4j实现Logger的调用
  8. java 如何实现计数_如何高效的实现一个计数器map
  9. codeforces E. Game with String 概率
  10. hive sql列转行
  11. 微信小程序云开发教程-云数据库
  12. python语言实例-Python代码样例列表
  13. 谈刺蛇c语言程序,C语言程设计实验内容与答案.doc
  14. 1024程序员节|从无数bug中磨炼出的光,格外耀眼!
  15. 云计算技术基础【9】
  16. QtCreator一键重命名
  17. 高德地图自定义地图样式
  18. VTK:交互与拾取——点拾取
  19. 2021-3-21-第三周
  20. Bugku-CTF never give up

热门文章

  1. 南京工程学院 数据库复习(数据库系统概论复习 及 数据库原理与应用样题)
  2. 重磅 | 品牌零售行业数据驱动业务指南,全新上线!
  3. 独家专访 | 红布林(Plum​)庞博:万亿元二手时尚交易蓝海的生存法则
  4. 今天,“场景赋能•驱动有数”,神策数据 2018 数据驱动大会在京成功举办
  5. 红杉中国合伙人刘星:新零售新在哪里?
  6. 桑文锋PMCAFF之行:数据驱动产品和运营决策
  7. 插件编写傻瓜教程VC6.0
  8. Android 权限问题
  9. 关于meta的各种用处以及移动端的常见问题
  10. kettle中使用javascript步骤和fireToDB函数实现自己定义数据库查询