版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、/大家在做报表或查询的时候都会有给用户预设一些可选的日期范围(如上图/如本年度销售额、本季度利润、本月新增客户/C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了/今天DateTime.Now.Date.ToShortDateString(;/昨天,就是今天的日期减一DateTime.Now.AddDays(-1.ToShortDateString(;/明天,同理,加一DateTime.Now.AddDays(1.ToShortDateString(;/本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要
2、注意的是这里的每一周是从周日始至周六止DateTime.Now.AddDays(Convert.ToDouble(0 - Convert.ToInt16(Da teTime.Now.DayOfWeek.ToShortDateString(;DateTime.Now.AddDays(Convert.ToDouble(6 - Convert.ToInt16(Da teTime.Now.DayOfWeek.ToShortDateString(;/如果你还不明白,再看一下中文显示星期几的方法就应该懂了/由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用swit
3、ch来一个一个地对照,其实不用那么麻烦的string Day = new string 星期日, 星期一, 星期二, 星期三, 星期四, 星期五, 星期六DayConvert.ToInt16(DateTime.Now.DayOfWeek;/上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样DateTime.Now.AddDays(Convert.ToDouble(0 - Convert.ToInt16(Da teTime.Now.DayOfWeek - 7.ToShortDateString(; DateTime.Now.AddDays(Convert.ToDouble(6 - C
4、onvert.ToInt16(Da teTime.Now.DayOfWeek - 7.ToShortDateString(;/下周DateTime.Now.AddDays(Convert.ToDouble(0 - Convert.ToInt16(Da teTime.Now.DayOfWeek + 7.ToShortDateString(; DateTime.Now.AddDays(Convert.ToDouble(6 - Convert.ToInt16(Da teTime.Now.DayOfWeek + 7.ToShortDateString(;/本月,很多人都会说本月的第一天嘛肯定是1号,最
5、后一天就是下个月一号再减一天。当然这是对的/一般的写法DateTime.Now.Year.ToString( + DateTime.Now.Month.ToString( + 1; /第一天DateTime.Parse(DateTime.Now.Year.ToString( + DateTime.Now.Mo nth.ToString( + 1.AddMonths(1.AddDays(-1.ToShortDateStr ing(;/ 最后一天/巧用C#里ToString的字符格式化更简便DateTime.Now.ToString(yyyy-MM-01;DateTime.Parse(DateTi
6、me.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.Add
7、Months (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
8、的字符格式化我们也很容易地算出本年度的第一天和最后一天DateTime.Parse(DateTime.Now.ToString(yyyy-01-01.ToShortDa teString(;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
9、.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(;/本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月/首先我们先把日期推到本季度第一个月
10、,然后这个月的第一天就是本季度的第一天了DateTime.Now.AddMonths(0 - (DateTime.Now.Month - 1 % 3.To String(yyyy-MM-01;/同理,本季度的最后一天就是下季度的第一天减一DateTime.Parse(DateTime.Now.AddMonths(3 - (DateTime.Now.Mont h - 1 % 3.ToString(yyyy-MM-01.AddDays(-1.ToShortDateString(;/下季度DateTime.Now.AddMonths(3 - (DateTime.Now.Month - 1 % 3.T
11、o String(yyyy-MM-01;DateTime.Parse(DateTime.Now.AddMonths(6 - (DateTime.Now.Mont h - 1 % 3.ToString(yyyy-MM-01.AddDays(-1.ToShortDateString(;/上季度DateTime.Now.AddMonths(-3 - (DateTime.Now.Month - 1 % 3.T oString(yyyy-MM-01;DateTime.Parse(DateTime.Now.AddMonths(0 - (DateTime.Now.Mont h - 1 % 3.ToStrin
12、g(yyyy-MM-01.AddDays(-1.ToShortDateString(;/如何获得当月有多少天intm=System.DateTime.DaysInMonth(System.DateTime.Now.Year,System .DateTime.Now.Month;/获取某月的实际工作日(即不包括周六日/调用/int days =getDays(System.DateTime.Now;private int getDays(System.DateTime date1int m=System.DateTime.DaysInMonth(date1.Year,date1.Month; i
13、nt mm=0;for(int i=1;i=m;i+System.DateTimedate=Convert.ToDateTime(date1.Year+-+date1.Month+-+i; switch (date.DayOfWeekcase System.DayOfWeek.Monday:case System.DayOfWeek.Thursday:case System.DayOfWeek.Tuesday:case System.DayOfWeek.Wednesday:case System.DayOfWeek.Friday:mm=mm+1;break;return mm;获得任意两日期之间的有效工作日(不包括周六日 获得任意两日期之间的有效工作日(不包括周六日#region 获得任意两日期之间的有效工作日(不包括周六日/调用/DateTime date1=Convert.ToDateTime(2005-10-20;/DateTime date2=Convert.ToDateTime(2005-11-01;/int days =getDays(date1,date2;private int getDays(System.DateTime date1,System.DateTime date2 stringm=DateDiff(EnumDateCompare.day,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年南昌理工学院单招(计算机)测试模拟题库附答案
- 2026年宜昌市招才兴业教育系统事业单位专项招聘20人(公共基础知识)测试题附答案
- 宝钢湛江钢铁有限公司2026届校园招聘考试题库附答案
- 2026广西定向选调生(北京交通大学)(公共基础知识)测试题附答案
- 2025年鄂尔多斯职业学院单招(计算机)考试备考题库附答案
- 浙江国企招聘-2025台州市椒江区国有资本运营集团有限公司招聘6人(公共基础知识)综合能力测试题附答案
- 2026年浙江工贸职业技术学院单招(计算机)测试模拟题库附答案
- 2025江西省公务员考试《公共基础知识》题库及答案1套
- 2026年陕西电子信息职业技术学院单招(计算机)测试备考题库附答案
- 中国人民对外友好协会所属事业单位公开招聘工作人员5人参考题库附答案
- 2025国家统计局齐齐哈尔调查队招聘公益性岗位5人笔试考试备考试题及答案解析
- 2025年特种作业人员危险化学品安全作业(化工自动化控制仪表)考试题库及答案
- 2026四川成都高新投资集团有限公司第一批校园招聘35人笔试考试备考试题及答案解析
- 人社局公益性岗位笔试题目及答案
- 2025年华住集团酒店考试题库
- 《建设工程施工合同示范文本》(GF-2022-0201) 核心条款与使用指南
- 媒人介绍相亲协议书
- 2025年超星尔雅学习通《数据分析与统计》考试备考题库及答案解析
- 2025纪检监察应知应会试题库与参考答案
- 2025中国企业软件出海报告
- 2025年大学《农药化肥-农药残留检测》考试模拟试题及答案解析
评论
0/150
提交评论