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:312、長(zhǎng)短日期和時(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)以來(lái)經(jīng)過(guò)的以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、見(jiàn)上面的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í))以來(lái)的毫秒數(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是值類(lèi)型還是引用類(lèi)型
- 深入理解C# DateTime日期格式化
- C# 中DateTime 的使用技巧匯總
- C#中比較常用的DateTime結(jié)構(gòu)的使用方法
- C#中DateTime日期類(lèi)型格式化顯示方法匯總
- c#詳解datetime使用示例
- c# DateTime常用操作實(shí)例(datetime計(jì)算時(shí)間差)
- 關(guān)于C#中DateTime常用方法概述
- C#時(shí)間格式化(Datetime)用法詳解
- c# datetime方法應(yīng)用介紹
相關(guān)文章
C# networkcomms 3.0實(shí)現(xiàn)模擬登陸總結(jié)
這篇文章主要介紹了C# networkcomms 3.0實(shí)現(xiàn)模擬登陸總結(jié),需要的朋友可以參考下2017-06-06
C#使用Gembox.SpreadSheet向Excel寫(xiě)入數(shù)據(jù)及圖表的實(shí)例
下面小編就為大家分享一篇C#使用Gembox.SpreadSheet向Excel寫(xiě)入數(shù)據(jù)及圖表的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12
C#實(shí)現(xiàn)倒計(jì)時(shí)關(guān)閉提示框功能
最近小編接到一個(gè)功能需要實(shí)現(xiàn)一個(gè)提示框并且能自動(dòng)關(guān)閉的,看到這個(gè)需求真是懵了,四處搜集資料才搞定,接下來(lái)通過(guò)本文給大家分享C#實(shí)現(xiàn)倒計(jì)時(shí)關(guān)閉提示框功能,感興趣的朋友跟隨小編一起看看吧2019-07-07
datagridview實(shí)現(xiàn)手動(dòng)添加行數(shù)據(jù)
這篇文章主要介紹了datagridview實(shí)現(xiàn)手動(dòng)添加行數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-04-04
Unity實(shí)現(xiàn)角色受擊身體邊緣發(fā)光特效
這篇文章主要為大家詳細(xì)介紹了Unity實(shí)現(xiàn)角色受擊身體邊緣發(fā)光特效,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04

