亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C# > 正文

C#中比較常用的DateTime結構的使用方法

2020-01-24 01:24:07
字體:
來源:轉載
供稿:網友

在項目開發中,經常會碰到日期處理。比如查詢中,可能會經常遇到按時間段查詢,有時會默認取出一個月的數據。當我們提交數據時,會需要記錄當前日期,等等。下面就看看一些常用的方法

首先,DateTime是一個struct。很多時候,會把它當成一個類。但它真的不是,MSDN上的描述如下:

DateTime結構:表示時間上的一刻,通常以日期和當天的時間表示。語法:

[SerializableAttribute]public struct DateTime : IComparable, IFormattable,   IConvertible, ISerializable, IComparable<DateTime>, IEquatable<DateTime>

一、DateTime.Now屬性

實例化一個DateTime對象,可以將指定的數字作為年月日得到一個DateTime對象。而DateTime.Now屬性則可獲得當前時間。如果你想按年、月、日分別統計數據,也可用DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day獲取。同理,當前的時分秒也可以這樣的方式獲取。還可以在當前時間加上一個段時間等操作。    

static void Main(string[] args)    {      DateTime newChina = new DateTime(1949, 10, 1);      Console.WriteLine(newChina);      Console.WriteLine("當前時間:");      Console.WriteLine("{0}年,{1}月,{2}日",DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);      Console.WriteLine("{0}時,{1}分, {2}秒",DateTime.Now.Hour, DateTime.Now.Minute, DateTime.Now.Second);      Console.WriteLine("三天后:{0}",DateTime.Now.AddDays(3));      Console.ReadLine();    }

結果:

二、ToString方法

 DateTime的ToString方法有四種重載方式。其中一個重載方式允許傳入String,這就意味著你可以將當前DateTime對象轉換成等效的字符串形式。比如我們將當前時間輸出,日期按yyyy-mm-dd格式,時間按hh:mm:ss格式。

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

還有一個重載形式是需要提供IFormatProvider,使用指定的區域性特定格式信息將當前 DateTime 對象的值轉換為它的等效字符串表示形式。

static void Main(string[] args)    {      CultureInfo jaJP = new CultureInfo("ja-JP");      jaJP.DateTimeFormat.Calendar = new JapaneseCalendar();      DateTime date1 = new DateTime(1867, 1, 1);      DateTime date2 = new DateTime(1967, 1, 1);            try      {        Console.WriteLine(date2.ToString(jaJP));        Console.WriteLine(date1.ToString(jaJP));      }      catch (ArgumentOutOfRangeException)      {        Console.WriteLine("{0:d} is earlier than {1:d} or later than {2:d}",                 date1,                 jaJP.DateTimeFormat.Calendar.MinSupportedDateTime,                 jaJP.DateTimeFormat.Calendar.MaxSupportedDateTime);      }      Console.ReadLine();    }

結果:

三、DaysInMonth方法及IsLeapYear方法

 DaysInMonth方法需要兩個Int32型參數,返回指定年份指定月份的天數。關于月份的天數,多數只有2月需要特殊照顧一下。剩余的月份,無論哪一年的天數都是固定的。而二月呢,不但不是其他月份的30天或31天,她還分個閏年非閏年。

static void Main(string[] args)    {      Console.WriteLine("2000年至2015年中二月的天數");      for (int i = 2000; i < 2015; i++)      {        Console.WriteLine("{0}年2月有:{1}天", i, DateTime.DaysInMonth(i, 2));      }      Console.ReadLine();    }

輸出結果:

從輸出結果中可以看出,2月為29天的年份為閏年。但其實DateTime還提供了判斷閏年的方法IsLeapYear,該方法只要一個Int32的參數,若輸入的年份是閏年返回true,否則返回false。(.Net Framework就是這么貼心,你要的東西都給你封裝好了,直接拿來用好了。)要是沒這個方法呢,得自己去按照閏年的規則去寫個小方法來判斷。

static void Main(string[] args)    {      Console.WriteLine("2000年至2015年中二月的天數");      for (int i = 2000; i < 2015; i++)      {        if (DateTime.IsLeapYear(i))          Console.WriteLine("{0}年是閏年,2月有{1}天", i, DateTime.DaysInMonth(i, 2));        else          Console.WriteLine("{0}年是平年,2月有{1}天",i,DateTime.DaysInMonth(i,2));      }      Console.ReadLine();    }

微軟現在已經將.NetFramework開源了,這意味著可以自己去查看源代碼了。附上DateTime.cs的源碼鏈接,以及IsLeapYear方法的源代碼。雖然僅僅兩三行代碼,但在實際開發中,你可能一時間想不起閏年的計算公式,或者拿捏不準。封裝好的方法為你節省大量時間。

DateTime.cs源碼中IsLeapYear方法

   // Checks whether a given year is a leap year. This method returns true if    // year is a leap year, or false if not.    //    public static bool IsLeapYear(int year) {      if (year < 1 || year > 9999) {        throw new ArgumentOutOfRangeException("year", Environment.GetResourceString("ArgumentOutOfRange_Year"));      }      Contract.EndContractBlock();      return year % 4 == 0 && (year % 100 != 0 || year % 400 == 0);    }

文章中介紹了幾個算是比較常用的方法,希望對大家的學習有所幫助,平時多閱讀相關文章,積累經驗。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美专区第一页| 久久91精品国产91久久久| 九九热r在线视频精品| 日韩一区二区精品视频| 成人亚洲欧美一区二区三区| 57pao国产成人免费| 亚洲最大av网站| 97视频在线看| 狠狠躁夜夜躁人人躁婷婷91| 欧美激情网友自拍| 国产精品美女主播在线观看纯欲| 亚洲自拍在线观看| 欧美成人免费在线观看| 久久夜色撩人精品| 国产欧美在线播放| 麻豆国产精品va在线观看不卡| 欧美精品一区二区三区国产精品| 日本久久久久亚洲中字幕| 国产亚洲人成a一在线v站| 最近2019中文字幕大全第二页| 国产91露脸中文字幕在线| 久久夜色精品亚洲噜噜国产mv| 日本sm极度另类视频| 97精品免费视频| 亚洲精品日韩丝袜精品| 国产精品户外野外| 亚洲精品网站在线播放gif| 国产精品久久一区主播| 欧美日韩免费网站| 久久影院模特热| 亚洲最新在线视频| 亚洲欧美中文另类| 亚洲图片在区色| 欧美韩国理论所午夜片917电影| 亚洲免费伊人电影在线观看av| 国产在线久久久| 亚洲精品国产精品国自产在线| 亚洲国产美女久久久久| 亚洲精品720p| 亚洲欧美国内爽妇网| 欧洲亚洲免费在线| 国产精品福利在线| 亚洲xxx大片| 精品国产乱码久久久久久婷婷| 国产精品视频免费在线观看| 国产aⅴ夜夜欢一区二区三区| 午夜免费日韩视频| 一级做a爰片久久毛片美女图片| 91九色视频导航| 国产精品亚洲视频在线观看| 国产精品av免费在线观看| 亚洲第一国产精品| 国产精品久久久久77777| 亚洲tv在线观看| 国产伦精品免费视频| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲国产精品成人va在线观看| 日韩成人激情在线| 久久久久一本一区二区青青蜜月| 日韩av在线网| 久久偷看各类女兵18女厕嘘嘘| 午夜精品久久久久久久久久久久久| 欧美二区在线播放| 久久久久久一区二区三区| 国产精品羞羞答答| 91色视频在线观看| 亚洲综合在线小说| 色综合五月天导航| 日韩电影大全免费观看2023年上| 精品国产91久久久久久| 91在线观看免费| 亚洲精品电影在线| 欧美亚洲第一页| 亚洲尤物视频网| 亚洲春色另类小说| 成人在线中文字幕| 成人亚洲综合色就1024| 91精品久久久久久久久久另类| 欧美一级电影免费在线观看| 两个人的视频www国产精品| 日本精品中文字幕| 自拍偷拍亚洲精品| 亚洲影院色在线观看免费| 成人在线观看视频网站| 亚洲美女在线视频| 在线播放日韩精品| 九九精品在线播放| 欧美激情综合色综合啪啪五月| 国产成人精品久久二区二区| 成人欧美一区二区三区在线| 欧美精品精品精品精品免费| 国产精品h片在线播放| 欧美区二区三区| 一本大道久久加勒比香蕉| 国产偷国产偷亚洲清高网站| 国产精品久久久久久久午夜| 久久久亚洲网站| 2021国产精品视频| 精品亚洲一区二区三区| 国产视频福利一区| 97视频在线免费观看| 亚洲精品一区中文| 俺去亚洲欧洲欧美日韩| 久久久av亚洲男天堂| 国产精品v片在线观看不卡| 国产极品精品在线观看| 中文字幕国产精品久久| 亚洲一区精品电影| 欧美主播福利视频| 欧美另类高清videos| 国产午夜一区二区| 国产精品丝袜一区二区三区| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美在线xxx| 国产精品高潮粉嫩av| 欧美最近摘花xxxx摘花| 欧洲中文字幕国产精品| 欧亚精品在线观看| 九九热这里只有精品6| 欧美日韩中文在线观看| 亚洲aa中文字幕| 日本一区二区三区在线播放| 欧美精品videos| 成人激情在线播放| 97免费视频在线| 亚洲高清久久久久久| 国产做受69高潮| 久久精品91久久久久久再现| 在线亚洲国产精品网| 国产精品丝袜白浆摸在线| 国产不卡一区二区在线播放| 色综合天天综合网国产成人网| 亚洲精品成人免费| 91精品视频免费| 欧美精品在线网站| 欧美大片第1页| 亚洲欧美中文另类| 亚洲成人激情视频| 97香蕉超级碰碰久久免费的优势| 亚洲综合第一页| 欧美日本高清一区| 成人网欧美在线视频| 欧美日韩亚洲视频| 久热精品视频在线观看一区| 亚洲人午夜精品免费| 国产精品视频男人的天堂| 美女久久久久久久| 久久久国产精彩视频美女艺术照福利| 国产精品黄视频| 亚洲大胆人体在线| 欧美日韩成人精品| 亚洲a级在线观看| 4k岛国日韩精品**专区| 96国产粉嫩美女| 中文字幕自拍vr一区二区三区| 久久精品视频网站| 成人免费视频在线观看超级碰| 精品久久中文字幕久久av| 在线播放国产一区二区三区| 国产日韩在线看片| 国产欧美va欧美va香蕉在| 欧美精品在线播放| 欧美孕妇孕交黑巨大网站| 久久成年人免费电影|