c#的DateTime.Now函数详解

  1      //2008年4月24日  
  2      System.DateTime.Now.ToString("D");  
  3      //2008-4-24  
  4      System.DateTime.Now.ToString("d");  
  5      //2008年4月24日 16:30:15  
  6      System.DateTime.Now.ToString("F");  
  7      //2008年4月24日 16:30  
  8      System.DateTime.Now.ToString("f");  
  9      //2008-4-24 16:30:15  
 10      System.DateTime.Now.ToString("G");  
 11      //2008-4-24 16:30  
 12      System.DateTime.Now.ToString("g");  
 13      //16:30:15  
 14      System.DateTime.Now.ToString("T");  
 15      //16:30  
 16      System.DateTime.Now.ToString("t");  
 17      //2008年4月24日 8:30:15  
 18      System.DateTime.Now.ToString("U");  
 19      //2008-04-24 16:30:15Z  
 20      System.DateTime.Now.ToString("u");  
 21      //4月24日  
 22      System.DateTime.Now.ToString("m");  
 23      System.DateTime.Now.ToString("M");  
 24      //Tue, 24 Apr 2008 16:30:15 GMT  
 25      System.DateTime.Now.ToString("r");  
 26      System.DateTime.Now.ToString("R");  
 27      //2008年4月  
 28      System.DateTime.Now.ToString("y");  
 29      System.DateTime.Now.ToString("Y");  
 30      //2008-04-24T15:52:19.1562500+08:00  
 31      System.DateTime.Now.ToString("o");  
 32      System.DateTime.Now.ToString("O");  
 33      //2008-04-24T16:30:15  
 34      System.DateTime.Now.ToString("s");  
 35      //2008-04-24 15:52:19  
 36      System.DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ffff");  
 37      //2008年04月24 15时56分48秒  
 38      System.DateTime.Now.ToString("yyyy年MM月dd HH时mm分ss秒");  
 39      //星期二, 四月 24 2008  
 40      System.DateTime.Now.ToString("dddd, MMMM dd yyyy");  
 41      //二, 四月 24 ’08  
 42      System.DateTime.Now.ToString("ddd, MMM d \"’\"yy");  
 43      //星期二, 四月 24  
 44      System.DateTime.Now.ToString("dddd, MMMM dd");  
 45      //4-08  
 46      System.DateTime.Now.ToString("M/yy");  
 47      //24-04-08  
 48      System.DateTime.Now.ToString("dd-MM-yy");  
 49      //字符型转换转为字符串  
 50      .ToString("n");  //生成 12,345.00  
 51      .ToString("C"); //生成 ¥12,345.00  
 52      .ToString("e"); //生成 1.234500e+004  
 53      .ToString("f4"); //生成 12345.0000  
 54      .ToString("x"); //生成 3039 (16进制)  
 55      .ToString("p"); //生成 1,234,500  
 56      //本年度销售额、本季度利润、本月新增客户   
 57     //今天  
 58      DateTime.Now.Date.ToShortDateString();  
 59      //昨天,就是今天的日期减一  
 60      DateTime.Now.AddDays(-1).ToShortDateString();  
 61      //明天,同理,加一  
 62      DateTime.Now.AddDays(1).ToShortDateString();  
 63      //本周(要知道本周的第一天就得先知道今天是星期几,从而得知本周的第一天就是几天前的那一天,要注意的是这里的每一周是从周日始至周六止  
 64      DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();  
 65      DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek)))).ToShortDateString();  
 66      //如果你还不明白,再看一下中文显示星期几的方法就应该懂了  
 67      //由于DayOfWeek返回的是数字的星期几,我们要把它转换成汉字方便我们阅读,有些人可能会用switch来一个一个地对照,其实不用那么麻烦的               
 68      string[] Day = new string[]{ "星期日""星期一""星期二""星期三""星期四""星期五""星期六" };  
 69      Day[Convert.ToInt16(DateTime.Now.DayOfWeek)];  
 70      //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样  
 71      DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();  
 72      DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) - 7).ToShortDateString();  
 73      //下周  
 74      DateTime.Now.AddDays(Convert.ToDouble((0 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();  
 75      DateTime.Now.AddDays(Convert.ToDouble((6 - Convert.ToInt16(DateTime.Now.DayOfWeek))) + 7).ToShortDateString();  
 76      //本月,很多人都会说本月的第一天嘛肯定是1号,最后一天就是下个月一号再减一天。当然这是对的  
 77      //一般的写法  
 78      DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1"//第一天  
 79      DateTime.Parse(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + "1").AddMonths(1).AddDays(-1).ToShortDateString();//最后一天  
 80      //巧用C#里ToString的字符格式化更简便  
 81      DateTime.Now.ToString("yyyy-MM-01");  
 82      DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).AddDays(-1).ToShortDateString();  
 83      //上个月,减去一个月份  
 84      DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(-1).ToShortDateString();  
 85      DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();  
 86      //下个月,加去一个月份  
 87      DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(1).ToShortDateString();  
 88      DateTime.Parse(DateTime.Now.ToString("yyyy-MM-01")).AddMonths(2).AddDays(-1).ToShortDateString();  
 89      //7天后  
 90      DateTime.Now.Date.ToShortDateString();  
 91      DateTime.Now.AddDays(7).ToShortDateString();  
 92      //7天前  
 93      DateTime.Now.AddDays(-7).ToShortDateString();  
 94      DateTime.Now.Date.ToShortDateString();  
 95      //本年度,用ToString的字符格式化我们也很容易地算出本年度的第一天和最后一天  
 96      DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).ToShortDateString();  
 97      DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).AddDays(-1).ToShortDateString();  
 98      //上年度,不用再解释了吧  
 99      DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(-1).ToShortDateString();  
100      DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddDays(-1).ToShortDateString();  
101      //下年度  
102      DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(1).ToShortDateString();  
103      DateTime.Parse(DateTime.Now.ToString("yyyy-01-01")).AddYears(2).AddDays(-1).ToShortDateString();  
104      //本季度,很多人都会觉得这里难点,需要写个长长的过程来判断。其实不用的,我们都知道一年四个季度,一个季度三个月  
105      //首先我们先把日期推到本季度第一个月,然后这个月的第一天就是本季度的第一天了  
106      DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");  
107      //同理,本季度的最后一天就是下季度的第一天减一  
108      DateTime.Parse(DateTime.Now.AddMonths(22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();  
109      //下季度,相信你们都知道了。。。。收工  
110      DateTime.Now.AddMonths(22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");  
111      DateTime.Parse(DateTime.Now.AddMonths(6 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();  
112      //上季度  
113      DateTime.Now.AddMonths(-22 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01");  
114      DateTime.Parse(DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 22)).ToString("yyyy-MM-01")).AddDays(-1).ToShortDateString();  

  

//获取日期+时间
DateTime.Now.ToString();            // 2008-9-4 20:02:10
DateTime.Now.ToLocalTime().ToString();        // 2008-9-4 20:12:12  取得当前系统日期和时间,格式根据本机设定的地区和语言来定

//获取日期
DateTime.Now.ToLongDateString().ToString();    // 2008年9月4日
DateTime.Now.ToShortDateString().ToString();    // 2008-9-4
DateTime.Now.ToString("yyyy-MM-dd");        // 2008-09-04
DateTime.Now.Date.ToString();            // 2008-9-4 0:00:00
//获取时间
DateTime.Now.ToLongTimeString().ToString();   // 20:16:16
DateTime.Now.ToShortTimeString().ToString();   // 20:16
DateTime.Now.ToString("hh:mm:ss");        // 08:05:57
DateTime.Now.TimeOfDay.ToString();        // 20:33:50.7187500

//其他
DateTime.ToFileTime().ToString();       // 128650040212500000
DateTime.Now.ToFileTimeUtc().ToString();   // 128650040772968750
DateTime.Now.ToOADate().ToString();       // 39695.8461709606
DateTime.Now.ToUniversalTime().ToString();   // 2008-9-4 12:19:14

DateTime.Now.Year.ToString();          获取年份   // 2008
DateTime.Now.Month.ToString();      获取月份   // 9
DateTime.Now.DayOfWeek.ToString(); 获取星期   // Thursday
DateTime.Now.DayOfYear.ToString(); 获取第几天   // 248
DateTime.Now.Hour.ToString();          获取小时   // 20
DateTime.Now.Minute.ToString();     获取分钟   // 31
DateTime.Now.Second.ToString();     获取秒数   // 45

//n为一个数,可以数整数,也可以事小数
dt.AddYears(n).ToString();   //时间加n年
dt.AddDays(n).ToString();   //加n天
dt.AddHours(n).ToString();   //加n小时
dt.AddMonths(n).ToString();   //加n个月
dt.AddSeconds(n).ToString();   //加n秒
dt.AddMinutes(n).ToString();   //加n分

 

posted @ 2017-09-28 16:33  雷雨天的雷胖子  阅读(2966)  评论(0编辑  收藏  举报