C#有关日期的使用方法
 DateTime dt = DateTime.Now;  //当前时间
 DateTime startWeek = dt.AddDays( - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一
 DateTime endWeek = startWeek.AddDays();  //本周周日
 DateTime startMonth = dt.AddDays( - dt.Day);  //本月月初
 DateTime endMonth = startMonth.AddMonths().AddDays(-);  //本月月末
 DateTime endMonth = startMonth.AddDays((dt.AddMonths() - dt).Days - );  //本月月末
 DateTime startQuarter = dt.AddMonths( - (dt.Month - ) % ).AddDays( - dt.Day);  //本季度初
 DateTime endQuarter = startQuarter.AddMonths().AddDays(-);  //本季度末
 DateTime startYear = new DateTime(dt.Year, , );  //本年年初
 DateTime endYear = new DateTime(dt.Year, , );  //本年年末
 至于昨天、明天、上周、上月、上季度、上年度等等,只要AddDays()、AddMonths()、AddYears()这几种方法组合一下就可以了。
 C#中datetime的使用
 大家在做报表或查询的时候都会有给用户预设一些可选的日期范围
 //如本年度销售额、本季度利润、本月新增客户
 //C#里内置的DateTime基本上都可以实现这些功能,巧用DateTime会使你处理这些事来变轻松多了
 //今天
 DateTime.Now.Date.ToShortDateString();
 //昨天,就是今天的日期减一
 DateTime.Now.AddDays(-).ToShortDateString();
 //明天,同理,加一
 DateTime.Now.AddDays().ToShortDateString();
 //本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止
 DateTime.Now.AddDays(Convert.ToDouble(( - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();
 DateTime.Now.AddDays(Convert.ToDouble(( - 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(( - Convert.ToInt16(DateTime.Now.DayOfWeek))) - ).ToShortDateString();
 DateTime.Now.AddDays(Convert.ToDouble(( - Convert.ToInt16(DateTime.Now.DayOfWeek))) - ).ToShortDateString();
 //下周
 DateTime.Now.AddDays(Convert.ToDouble(( - Convert.ToInt16(DateTime.Now.DayOfWeek))) + ).ToShortDateString();
 DateTime.Now.AddDays(Convert.ToDouble(( - Convert.ToInt16(DateTime.Now.DayOfWeek))) + ).ToShortDateString();
 //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的
 //一般的写法
 DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + ""; //第一天
 DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "").AddMonths().AddDays(-).ToShortDateString();//最后一天
 //巧用C#里ToString的字符格式化更简便
 DateTime.Now.ToString("yyyy-MM-01");
 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths().AddDays(-).ToShortDateString();
 //上个月,减去一个月份
 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-).ToShortDateString();
 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-).ToShortDateString();
 //下个月,加去一个月份
 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths().ToShortDateString();
 DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths().AddDays(-).ToShortDateString();
 //7天后
 DateTime.Now.Date.ToShortDateString();
 DateTime.Now.AddDays().ToShortDateString();
 //7天前
 DateTime.Now.AddDays(-).ToShortDateString();
 DateTime.Now.Date.ToShortDateString();
 //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天
 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();
 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears().AddDays(-).ToShortDateString();
 //上年度,不用再解释了吧
 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-).ToShortDateString();
 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-).ToShortDateString();
 //下年度
 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears().ToShortDateString();
 DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears().AddDays(-).ToShortDateString();
 //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月
 //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了
 DateTime.Now.AddMonths( - ((DateTime.Now.Month - ) % )).ToString("yyyy-MM-01");
 //同理,本季度的最后一天就是下季度的第一天减一
 DateTime.Parse(DateTime.Now.AddMonths( - ((DateTime.Now.Month - ) % )).ToString("yyyy-MM-01")).AddDays(-).ToShortDateString();
 //下季度,相信你们都知道了。。。。收工
 DateTime.Now.AddMonths( - ((DateTime.Now.Month - ) % )).ToString("yyyy-MM-01");
 DateTime.Parse(DateTime.Now.AddMonths( - ((DateTime.Now.Month - ) % )).ToString("yyyy-MM-01")).AddDays(-).ToShortDateString();
 //上季度
 DateTime.Now.AddMonths(- - ((DateTime.Now.Month - ) % )).ToString("yyyy-MM-01");
 DateTime.Parse(DateTime.Now.AddMonths( - ((DateTime.Now.Month - ) % )).ToString("yyyy-MM-01")).AddDays(-).ToShortDateString();
 --------------------------------
 DateTime dt = DateTime.Now;
 dt.ToString();//2005-11-5 13:21:25
 dt.ToFileTime().ToString();//
 dt.ToFileTimeUtc().ToString();//
 dt.ToLocalTime().ToString();//2005-11-5 21:21:25
 dt.ToLongDateString().ToString();//2005年11月5日
 dt.ToLongTimeString().ToString();//13:21:25
 dt.ToOADate().ToString();//38661.5565508218
 dt.ToShortDateString().ToString();//2005-11-5
 dt.ToShortTimeString().ToString();//13:21
 dt.ToUniversalTime().ToString();//2005-11-5 5:21:25
 dt.Year.ToString();//
 dt.Date.ToString();//2005-11-5 0:00:00
 dt.DayOfWeek.ToString();//Saturday
 dt.DayOfYear.ToString();//
 dt.Hour.ToString();//
 dt.Millisecond.ToString();//
 dt.Minute.ToString();//
 dt.Month.ToString();//
 dt.Second.ToString();//
 dt.Ticks.ToString();//
 dt.TimeOfDay.ToString();//13:30:28.4412864
 dt.ToString();//2005-11-5 13:47:04
 dt.AddYears().ToString();//2006-11-5 13:47:04
 dt.AddDays(1.1).ToString();//2005-11-6 16:11:04
 dt.AddHours(1.1).ToString();//2005-11-5 14:53:04
 dt.AddMilliseconds(1.1).ToString();//2005-11-5 13:47:04
 dt.AddMonths().ToString();//2005-12-5 13:47:04
 dt.AddSeconds(1.1).ToString();//2005-11-5 13:47:05
 dt.AddMinutes(1.1).ToString();//2005-11-5 13:48:10
 dt.AddTicks().ToString();//2005-11-5 13:47:04
 dt.CompareTo(dt).ToString();//
 dt.Add(?).ToString();//问号为一个时间段
 dt.Equals("2005-11-6 16:11:04").ToString();//False
 dt.Equals(dt).ToString();//True
 dt.GetHashCode().ToString();//
 dt.GetType().ToString();//System.DateTime
 dt.GetTypeCode().ToString();//DateTime
 dt.GetDateTimeFormats('s')[].ToString();//2005-11-05T14:06:25
 dt.GetDateTimeFormats('t')[].ToString();//14:06
 dt.GetDateTimeFormats('y')[].ToString();//2005年11月
 dt.GetDateTimeFormats('D')[].ToString();//2005年11月5日
 dt.GetDateTimeFormats('D')[].ToString();//2005 11 05
 dt.GetDateTimeFormats('D')[].ToString();//星期六 2005 11 05
 dt.GetDateTimeFormats('D')[].ToString();//星期六 2005年11月5日
 dt.GetDateTimeFormats('M')[].ToString();//11月5日
 dt.GetDateTimeFormats('f')[].ToString();//2005年11月5日 14:06
 dt.GetDateTimeFormats('g')[].ToString();//2005-11-5 14:06
 dt.GetDateTimeFormats('r')[].ToString();//Sat, 05 Nov 2005 14:06:25 GMT
 string.Format("{0:d}",dt);//2005-11-5
 string.Format("{0:D}",dt);//2005年11月5日
 string.Format("{0:f}",dt);//2005年11月5日 14:23
 string.Format("{0:F}",dt);//2005年11月5日 14:23:23
 string.Format("{0:g}",dt);//2005-11-5 14:23
 string.Format("{0:G}",dt);//2005-11-5 14:23:23
 string.Format("{0:M}",dt);//11月5日
 string.Format("{0:R}",dt);//Sat, 05 Nov 2005 14:23:23 GMT
 string.Format("{0:s}",dt);//2005-11-05T14:23:23
 string.Format("{0:t}",dt);//14:23
 string.Format("{0:T}",dt);//14:23:23
 string.Format("{0:u}",dt);//2005-11-05 14:23:23Z
 string.Format("{0:U}",dt);//2005年11月5日 6:23:23
 string.Format("{0:Y}",dt);//2005年11月
 string.Format("{0}",dt);//2005-11-5 14:23:23
 string.Format("{0:yyyyMMddHHmmssffff}",dt);
 计算2个日期之间的天数差
 -----------------------------------------------
 DateTime dt1 = Convert.DateTime("2007-8-1");
 DateTime dt2 = Convert.DateTime("2007-8-15");
 TimeSpan span = dt2.Subtract(dt1);
 int dayDiff = span.Days + ;                  
 计算某年某月的天数
 -----------------------------------------------
 int days = DateTime.DaysInMonth(, );
 days = ;                                    
 给日期增加一天、减少一天
 -----------------------------------------------
 DateTime dt =DateTime.Now;
 dt.AddDays(); //增加一天
 dt.AddDays(-);//减少一天
 其它年份方法类似...
 Oracle SQL里转换日期函数
 -----------------------------------------------
 to_date("2007-6-6",'YYYY-MM-DD");
 to_date("2007/6/6",'yyyy/mm/dd");
 如下一组数据,如何查找表里包含9月份的记录:
 CGGC_STRATDATE CGGC_ENDDATE
 =========================================
 -- --
 -- --
 -- --
 SELECT * FROM TABLE
 (TO_DATE('2007/9/1','yyyy/mm/dd') BETWEEN CGGC_STRATDATE
 AND CGGC_ENDDATE OR CGGC_STRATDATE >=TO_DATE('2007/9/1','yyyy/mm/dd')
 AND CGGC_ENDDATE<=TO_DATE('2007/9/30','yyyy/mm/dd') "
 OR TO_DATE('2007/9/30','yyyy/mm/dd') BETWEEN CGGC_STRATDATE
 AND CGGC_ENDDATE) ORDER BY CGGC_STRATDATE ASC
C#有关日期的使用方法的更多相关文章
- Python中对时间日期的处理方法简单汇总
		这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个d ... 
- PHP中的日期加减方法示例
		几乎所有从事程序开发的程序员都遇到时间处理问题,PHP开发也一样,幸运的是PHP提供了很多关于日期时间函数.只要经常使用这些函数,搭配使用,日期时间处理上就熟能生巧了. 今天要讲的这个例子,需求是这样 ... 
- PHP获取时间日期的多种方法
		分享下PHP获取时间日期的多种方法. <?php echo "今天:".date("Y-m-d")."<br>"; ... 
- POI使用:用poi接口不区分xls/xlsx格式解析Excel文档(41种日期格式解析方法,5种公式结果类型解析方法,3种常用数值类型精度控制办法)
		一.使用poi解析excel文档 注:全部采用poi接口进行解析,不需要区分xls.xlsx格式,不需要判断文档类型. poi中的日期格式判断仅支持欧美日期习惯,对国内的日期格式并不支持判断,怎么办? ... 
- JavaScript中的内置对象-8--4.date对象中-获取,设置日期时间的方法;  获取,设置年月日时分秒及星期的方法;
		学习目标 1.掌握创建日期对象的方法 2.掌握date对象中获取日期时间的方法 3.掌握date对象中设置日期时间的方法 如何创建一个日期对象 语法:new Date(); 功能:创建一个日期时间对象 ... 
- JAVA中日期转换和日期计算的方法
		日期的格式有很多形式,在使用过程中经常需要转换,下面是各种类型转换的使用例子以及日期计算方法的例子. 一.不同格式日期相互转换方法 public class TestDateConvertUtil { ... 
- 使用DateTime的ParseExact方法实现特殊日期时间的方法详解(转)
		本篇文章是对使用DateTime的ParseExact方法实现特殊日期时间的方法进行了详细的分析介绍,需要的朋友参考下 今天遇到一个特别的需求,需要从下面的字符串中转换成一个DateTime对象: [ ... 
- Sybase:获取本月最后一天的日期的实现方法
		Sybase:获取本月最后一天的日期的实现方法 Oracle中查询月底那天的日期的函数为:last_day(). 在ASE中没有对应的函数,在Oracle移植到Sybase的时候,需要手动编写函数来实 ... 
- struct tm 和 time_t 时间和日期的使用方法(转
		关键字:UTC(世界标准时间),Calendar Time(日历时间),epoch(时间点),clock tick(时钟计时单元) .概念 在C/C++中,对字符串的操作有很多值得注意的问题,同样,C ... 
- Python实用日期时间处理方法汇总
		这篇文章主要介绍了Python实用日期时间处理方法汇总,本文讲解了获取当前datetime.获取当天date.获取明天/前N天.获取当天开始和结束时间(00:00:00 23:59:59).获取两个d ... 
随机推荐
- Java字节流:ByteArrayInputStream ByteArrayOutputStream
			----------------------------------------------------------------------------------- ByteArrayInputSt ... 
- PHP: 手把手编写自己的 MVC 框架实例教程
			1 什么是MVC MVC模式(Model-View-Controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model).视图(View)和控制器(Controller ... 
- 如何让 height:100%; 起作用
			当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这样的做法没有任何效果.你知道为什么height:100%不起作用吗? 按常理,当我们用 ... 
- 清北暑假模拟day2 将
			/* 爆搜,正解弃坑 */ #include<iostream> #include<cstdio> #include<string> #include<cst ... 
- nyoj 364 田忌赛马(贪心)
			田忌赛马 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 Here is a famous story in Chinese history. "That ... 
- PHP基础之 重载 的实现方式
			===================PHP中的伪重载Overloading================== PHP中没有像C#或java中的重载,但可以通其它方法实现重载 重载:属性重载与方法重 ... 
- JS补充
			JavaScript JavaScript 使用那些老旧的实例可能会在 <script> 标签中使用 type="text/javascript".现在已经不必这样做了 ... 
- bug--java访问hdfs (Server IPC version 9 cannot communicate with client version 4 错误)
			1. 今天想做一个hdfs的java工具类,但是在连接hdfs的时候,报如下错误: Exception in thread "main" org.apache.hadoop.ipc ... 
- IDEA之maven(springmvc)项目
			1.在idea下创建maven项目(参考IDEA之web项目(maven项目)创建) 2.项目结构 3.web.xml <!DOCTYPE web-app PUBLIC "-//Sun ... 
- centos-6.5 安装apache
			1.避免端口.程序冲突.使用rpm卸载httpd [root@www /]# rpm -qa httpd #检查httpd的包 [root@www /]# rpm -e httpd --nodeps ... 
