c#中DateTime类_第1页
c#中DateTime类_第2页
c#中DateTime类_第3页
c#中DateTime类_第4页
c#中DateTime类_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论