C# DateTime用法

 1.DateTime添加毫秒失效

DateTime添加毫秒失效: DateTime.Now.AddMilliseconds(40),没起作用

解决方法:
DateTime gt = DateTime.Now;
gt=   DateTime(gt.Ticks +  * );

2.DateTime.ToString(string format)

DateTime.ToString()函数有四个重载。一般用得多的就是不带参数的那个了。

DateTime.ToString(string format)功能更强大,能输出不同格式的日期。

1.         y代表年份,注意是小写的y,大写的Y并不代表年份。

2.         M表示月份。

3.         d表示日期,注意D并不代表什么。

4.         hH表示小时,h用的是12小时制,H用的是24小时制。

5.         m表示分钟。

6.         s表示秒。注意S并不代表什么。

 3.获取当月第一天和最后一天

第一天:DateTime.Now.AddDays(-DateTime.Now.Day+1)

最后一天:DateTime.Now.AddMonths(1).AddDays(-DateTime.Now.Day)

 4. 获取星期几 DayOfWeek

 //判断是否为周末
 if ((DateTime.Now.DayOfWeek == DayOfWeek.Saturday) || (DateTime.Now.DayOfWeek == DayOfWeek.Sunday)){}

 5.根据当前时间获取本周,本月,本季度等时间段

 DateTime dt = DateTime.Now;  //当前时间         
    DateTime startWeek = dt.AddDays(1 - Convert.ToInt32(dt.DayOfWeek.ToString("d")));  //本周周一  
    DateTime endWeek = startWeek.AddDays(6);  //本周周日         
    DateTime startMonth = dt.AddDays(1 - dt.Day);  //本月月初  
    DateTime endMonth = startMonth.AddMonths(1).AddDays(-1);  //本月月末  
    //DateTime endMonth = startMonth.AddDays((dt.AddMonths(1) - dt).Days - 1);  //本月月末         
    DateTime startQuarter = dt.AddMonths(0 - (dt.Month - 1) % 3).AddDays(1 - dt.Day);  //本季度初  
    DateTime endQuarter = startQuarter.AddMonths(3).AddDays(-1);  //本季度末         
    DateTime startYear = new DateTime(dt.Year, 1, 1);  //本年年初  
    DateTime endYear = new DateTime(dt.Year, 12, 31);  //本年年末


  至于昨天、明天、上周、上月、上季度、上年度等等,只要AddDays()、AddMonths()、AddYears()这几种方法组合一下就可以了。  
    
    //中文显示星期几
    //由于DayOfWeek返回的是数字的星期几,转换成汉字
    string[] Day = new string[] { "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" };  
    string week = Day[Convert.ToInt32(DateTime.Now.DayOfWeek.ToString("d"))].ToString();  
       
    //上周,同理,一个周是7天,上周就是本周再减去7天,下周也是一样  
    DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7);        //上周一  
    DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) - 7).AddDays(6);     //上周末(星期日)  
    //下周  
    DateTime.Now.AddDays(Convert.ToInt32 (1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7);        //下周一  
    DateTime.Now.AddDays(Convert.ToInt32(1 - Convert.ToInt32(DateTime.Now.DayOfWeek)) + 7).AddDays(6);      //下周末  
    //本月,很多人都会说本月的第一天嘛肯定是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)).AddDays(1 - DateTime.Now.Day);  
    //同理,本季度的最后一天就是下季度的第一天减一  
    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)). AddDays(1 - DateTime.Now);  
    DateTime.Now.AddMonths(0 - ((DateTime.Now.Month - 1) % 3)).AddDays(1 - DateTime.Now.Day).AddDays(-1).ToShortDateString();

 


Console.WriteLine("ToShortDateString:" + DateTime.Now.ToShortDateString());
Console.WriteLine("ToLongDateString:" + DateTime.Now.ToLongDateString());

Console.WriteLine("ToShortTimeString:" + DateTime.Now.ToShortTimeString());
Console.WriteLine("ToLongTimeString:" + DateTime.Now.ToLongTimeString());

Console.WriteLine(DateTime.Now.ToString());
Console.WriteLine(DateTime.Now.ToString("t"));

Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:fff"));
Console.WriteLine(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ms"));

Console.WriteLine(DateTime.Now.ToString("d"));                    //格式: 2010-10-22
Console.WriteLine(DateTime.Now.ToString("D"));                    //格式: 2010年10月22日

Console.WriteLine(DateTime.Now.ToString("f"));                    //格式: 2010年10月22日 9:26
Console.WriteLine(DateTime.Now.ToString("F"));                    //格式: 2010年10月22日 9:26:38

Console.WriteLine(DateTime.Now.ToString("g"));                    //格式: 2010-10-22 9:26
Console.WriteLine(DateTime.Now.ToString("G"));                    //格式: 2010-10-22 9:26:38

Console.WriteLine(DateTime.Now.ToString("m"));                    //格式: 10月22日
Console.WriteLine(DateTime.Now.ToString("r"));                    //格式: Fri, 22 Oct 2010 09:26:38 GMT
Console.WriteLine(DateTime.Now.ToString("s"));                    //格式: 2010-10-22T09:26:38

Console.WriteLine(DateTime.Now.ToString("t"));                    //格式: 9:26
Console.WriteLine(DateTime.Now.ToString("T"));                    //格式: 9:26:38

Console.WriteLine(DateTime.Now.ToString("u"));                    //格式: 2010-10-22 09:26:38Z
Console.WriteLine(DateTime.Now.ToString("U"));                    //格式: 2010年10月22日 1:26:38

Console.WriteLine(DateTime.Now.ToString("y"));                    //格式: 2010年10月
Console.WriteLine(DateTime.Now.ToString("dddd"));                 //格式: 星期五
Console.WriteLine(DateTime.Now.ToString("dddd, MMMM dd yyyy"));   //格式: 星期五, 十月 22 2010
Console.WriteLine(DateTime.Now.ToString("ddd, MMM d yy"));        //格式: 五, 十月 22 10
Console.WriteLine(DateTime.Now.ToString("dddd, MMMM dd"));        //格式: 星期五, 十月 22
Console.WriteLine(DateTime.Now.ToString("M/yy"));                 //格式: 10-10
Console.WriteLine(DateTime.Now.ToString("dd-MM-yy"));             //格式: 22-10-10


特别注意:

由于服务器的日期时间格式设置与C#中的方法:DateTime.Now.ToShortDateString()产生的日期时间格式紧密相连。

后续正式环境请注意服务器的《日期 时间 格式设置
短日期:yyyy-MM-dd
长日期:yyyy'年'M'月'd'日'

短时间:HH:mm
长时间:HH:mm:ss

 

同时还可直接使用如下方式直接获取自己想要得到的日期时间格式(似乎这种方式不服务器《日期 时间 格式设置》的受影响)

DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss:ms")




本文出自勇哥的网站《少有人走的路》wwww.skcircle.com,转载请注明出处!讨论可扫码加群:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

会员中心
搜索
«    2024年4月    »
1234567
891011121314
15161718192021
22232425262728
2930
网站分类
标签列表
最新留言
    热门文章 | 热评文章 | 随机文章
文章归档
友情链接
  • 订阅本站的 RSS 2.0 新闻聚合
  • 扫描加本站机器视觉QQ群,验证答案为:halcon勇哥的机器视觉
  • 点击查阅微信群二维码
  • 扫描加勇哥的非标自动化群,验证答案:C#/C++/VB勇哥的非标自动化群
  • 扫描加站长微信:站长微信:abc496103864
  • 扫描加站长QQ:
  • 扫描赞赏本站:
  • 留言板:

Powered By Z-BlogPHP 1.7.2

Copyright Your skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864