C#中DateTime函數(shù)的詳細(xì)用法
一、初始化:
DateTime dt = new DateTime(2011, 3, 4); DateTime dt3 = new DateTime(2011, 3, 4, 17, 08, 09); DateTime dt1 = DateTime.Now; DateTime dt2 = DateTime.Today; DateTime dt5 = new DateTime(20000, DateTimeKind.Local);
帶農(nóng)歷日期
DateTime dt4 = new DateTime(1983, 5, 17, new System.Globalization.ChineseLunisolarCalendar()); //農(nóng)歷日期 Console.WriteLine(dt4); //1983/6/27 0:00:00
二、格式化函數(shù)。
1、常用
DateTime dt = DateTime.Now; s1=dt.ToString();//2019-06-25 10:38:31 s2=dt.ToString("d");//2019-06-25 s3=dt.toToLocalTime().ToString();//2019-06-25 10:38:31 s4=dt.ToUniversalTime().ToString();//2019-06-25 2:38:31
2、長短日期和時(shí)間
s1 = dt.ToLongDateString(); // 2019年6月25日 s2 = dt.ToShortDateString();// 2019-06-25 s3 = dt.ToLongTimeString(); // 10:41:14 s4 = dt.ToShortTimeString();// 10:41
三、屬性
1、日期部分
s1 = dt.Date.ToString();//日期。2019-06-25 0:00:00 s2 = dt.Year.ToString();//年。2019 s3 = dt.Month.ToString();//月。6 s4 = dt.Day.ToString();//日。 25 s5 = dt.DayOfWeek.ToString();//星期。Tuesday s6 = Convert.ToInt32(dt.DayOfWeek).ToString(); //2 s7 = dt.DayOfYear.ToString();// 該年中的第幾天。176 s8 = (dt.DayOfYear / 7 + 1).ToString();//該年中的第幾周。26
2、時(shí)間部分
s1 = dt.TimeOfDay.ToString();//時(shí)間。10:50:23.4881958 s2 = dt.Hour.ToString();//時(shí),10 s3 = dt.Minute.ToString();//分、50 s4 = dt.Second.ToString();//秒 23 s5 = dt.Millisecond.ToString();//毫秒。 488
3、計(jì)時(shí)周期
Ticks:自0001年1月1日午夜0:0:0(即DateTime.MinValue)以來經(jīng)過的以100毫微秒(即納秒)為間隔的間隔數(shù)。
s1 = dt.Ticks.ToString();//一個(gè)tick代表100ns,一毫秒=10000tick,一秒等于107個(gè)ticks.636970570197681958
四、日期操作
TimeSpan它含有以下四個(gè)構(gòu)造函數(shù):
- TimeSpan(Int64):初始化為指定的刻度數(shù)。
- TimeSpan(Int32, Int32, Int32):初始化為指定的小時(shí)數(shù)、分鐘數(shù)和秒數(shù)。
- TimeSpan(Int32, Int32, Int32, Int32): 初始化為指定的天數(shù)、小時(shí)數(shù)、分鐘數(shù)和秒數(shù)。
- TimeSpan(Int32,Int32, Int32, Int32, Int32):初始化為指定的天數(shù)、小時(shí)數(shù)、分鐘數(shù)、秒數(shù)和毫秒數(shù)。
1、加減幾X:
s1 = dt.AddYears(1).ToString();// 2020-06-25 11:01:09 s2 = dt.AddMonths(-1).ToString();// 2019-05-25 11:01:24 s3 = dt.AddDays(1).ToString();// 2019-06-26 11:01:24 s4 = dt.AddHours(-1).ToString();// 2019-06-25 10:01:24 s5 = dt.AddMinutes(1).ToString();//2019-06-25 11:02:24 s6 = dt.AddTicks(1000).ToString();//2019-06-25 11:01:24
日期加減TimeSpan:
DateTime dt = DateTime.Now; s1 = dt + TimeSpan.FromDays(2.1).ToString();//2019-06-25 11:05:392.02:24:00 s2 = dt.Add(TimeSpan.FromDays(2.1)).ToString();//2019-06-27 13:29:39 s3 = (dt - new TimeSpan(1, 2, 0, 0, 0)).ToString();// 2019-06-24 9:05:39 s4 = dt.Subtract(TimeSpan.FromDays(2)).ToString();//2019-06-23 11:05:39
2、兩日期差異的TimeSpan
s1 = (dt - dt.AddDays(-3)).Days.ToString();//3 s2 = (dt.Subtract(dt.AddDays(-3))).Days.ToString();//3
3、比較時(shí)間
s1 = dt.CompareTo(dt.AddYears(1)).ToString();//-1 s2 = (dt == dt.AddYears(1)).ToString();//False s3 = (dt < dt.AddYears(1)).ToString();// True
五、靜態(tài)方法:
s1 = DateTime.DaysInMonth(2019, 6).ToString();//某月共有幾天,30 s2 = DateTime.IsLeapYear(2019).ToString(); //是否為閏年,False s3 = DateTime.Compare(dt, new DateTime(2019, 6, 25))) //比較. 1 s4 = DateTime.Parse("2019,5,16").ToString();//2019-05-16 0:00:00 s5 = DateTime.ParseExact("1899-12-30", "yyyy-MM-dd", CultureInfo.CurrentCulture.DateTimeFormat).ToString();//1899-12-30 0:00:00 s6 = Convert.ToDateTime("2019,5,16").ToString();//2019-05-16 0:00:00
六、計(jì)算一年中的第幾周
1、見上面的dt.DayOfYear。
2、利用GregorianCalendar
GregorianCalendar gc = new GregorianCalendar(); int weekOfYear = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday); s1 = weekOfYear.ToString();// 26
七、獲取JS相關(guān)的日期數(shù)字格式(Unix時(shí)間戳)
JavaScript 將零時(shí)間存儲(chǔ)為自 1970 年 1 月 1 日 00:00:00 UTC(協(xié)調(diào)世界時(shí))以來的毫秒數(shù)。
// 將時(shí)間變成數(shù)字,同JS的d.GetTime()相同的值,到毫秒三種方式 var a = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000; var b = (DateTime.Now.ToUniversalTime().Ticks - new DateTime(1970, 1, 1).Ticks) / 10000; var c = (Int64)(DateTime.Now.ToUniversalTime() - new DateTime(1970, 1, 1)).TotalMilliseconds; //將數(shù)字變成時(shí)間(本地時(shí)間),同JS中的?var d= new Date(100000000000)。 var d = DateTime.Parse("1970-01-01 00:00:00").AddMilliseconds(c); Console.WriteLine(a); Console.WriteLine(b); Console.WriteLine(c); Console.WriteLine(d.ToLocalTime()); //輸出: //1620634282422 //1620634282422 //1620634282422 //2021/5/10 星期一 16:11:22
到此這篇關(guān)于C#中DateTime函數(shù)用法的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解c# 中的DateTime
- C# DateTime與時(shí)間戳轉(zhuǎn)換實(shí)例
- C#中的DateTime是值類型還是引用類型
- 深入理解C# DateTime日期格式化
- C# 中DateTime 的使用技巧匯總
- C#中比較常用的DateTime結(jié)構(gòu)的使用方法
- C#中DateTime日期類型格式化顯示方法匯總
- c#詳解datetime使用示例
- c# DateTime常用操作實(shí)例(datetime計(jì)算時(shí)間差)
- 關(guān)于C#中DateTime常用方法概述
- C#時(shí)間格式化(Datetime)用法詳解
- c# datetime方法應(yīng)用介紹
相關(guān)文章
C# SaveFileDialog與OpenFileDialog用法案例詳解
這篇文章主要介紹了C# SaveFileDialog與OpenFileDialog用法案例詳解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08C#如何將DataTable導(dǎo)出到Excel解決方案
由于公司項(xiàng)目中需要將系統(tǒng)內(nèi)用戶操作的所有日志進(jìn)行轉(zhuǎn)存?zhèn)浞?,考慮到以后可能還需要還原,所以最后決定將日志數(shù)據(jù)備份到Excel中2012-11-11C#/VB.NET?將Word與Excel文檔轉(zhuǎn)化為Text
這篇文章主要介紹了C#/VB.NET?將Word與Excel文檔轉(zhuǎn)化為Text,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的朋友可以參考一下2022-08-08C#創(chuàng)建數(shù)據(jù)庫及附加數(shù)據(jù)庫的操作方法
這篇文章主要介紹了C#創(chuàng)建數(shù)據(jù)庫及附加數(shù)據(jù)庫的操作方法,涉及C#針對(duì)數(shù)據(jù)庫常見的創(chuàng)建、添加、連接等操作技巧,需要的朋友可以參考下2016-06-06C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法分析
這篇文章主要介紹了C#實(shí)現(xiàn)獲取本地內(nèi)網(wǎng)(局域網(wǎng))和外網(wǎng)(公網(wǎng))IP地址的方法,結(jié)合實(shí)例形式總結(jié)分析了C#獲取IP地址相關(guān)原理、實(shí)現(xiàn)方法與操作注意事項(xiàng),需要的朋友可以參考下2020-03-03