網站首頁 編程語言 正文
一、初始化:
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);
帶農歷日期
DateTime dt4 = new DateTime(1983, 5, 17, new System.Globalization.ChineseLunisolarCalendar()); //農歷日期
Console.WriteLine(dt4); //1983/6/27 0:00:00
二、格式化函數。
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、長短日期和時間
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、時間部分
s1 = dt.TimeOfDay.ToString();//時間。10:50:23.4881958
s2 = dt.Hour.ToString();//時,10
s3 = dt.Minute.ToString();//分、50
s4 = dt.Second.ToString();//秒 23
s5 = dt.Millisecond.ToString();//毫秒。 488
3、計時周期
Ticks:自0001年1月1日午夜0:0:0(即DateTime.MinValue)以來經過的以100毫微秒(即納秒)為間隔的間隔數。
s1 = dt.Ticks.ToString();//一個tick代表100ns,一毫秒=10000tick,一秒等于107個ticks.636970570197681958
四、日期操作
TimeSpan它含有以下四個構造函數:
- TimeSpan(Int64):初始化為指定的刻度數。
- TimeSpan(Int32, Int32, Int32):初始化為指定的小時數、分鐘數和秒數。
- TimeSpan(Int32, Int32, Int32, Int32): 初始化為指定的天數、小時數、分鐘數和秒數。
- TimeSpan(Int32,Int32, Int32, Int32, Int32):初始化為指定的天數、小時數、分鐘數、秒數和毫秒數。
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、比較時間
s1 = dt.CompareTo(dt.AddYears(1)).ToString();//-1
s2 = (dt == dt.AddYears(1)).ToString();//False
s3 = (dt < dt.AddYears(1)).ToString();// True
五、靜態方法:
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
六、計算一年中的第幾周
1、見上面的dt.DayOfYear。
2、利用GregorianCalendar
GregorianCalendar gc = new GregorianCalendar();
int weekOfYear = gc.GetWeekOfYear(DateTime.Now, CalendarWeekRule.FirstDay, DayOfWeek.Monday);
s1 = weekOfYear.ToString();// 26
七、獲取JS相關的日期數字格式(Unix時間戳)
JavaScript 將零時間存儲為自 1970 年 1 月 1 日 00:00:00 UTC(協調世界時)以來的毫秒數。
// 將時間變成數字,同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;
//將數字變成時間(本地時間),同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
原文鏈接:https://www.cnblogs.com/springsnow/p/12975798.html
相關推薦
- 2022-03-15 使用Sqlyog遠程連接數據庫報錯解決方案_數據庫其它
- 2022-05-02 go語言中值類型和指針類型的深入理解_Golang
- 2022-12-26 python?QT界面關閉線程池的線程跟隨退出完美解決方案_python
- 2022-07-13 Docker的數據管理
- 2022-11-05 Nginx配置文件中location配置的多種場景_nginx
- 2022-04-30 DataGridView控件常用屬性介紹_C#教程
- 2022-06-13 安裝Docker配置阿里云鏡像加速(圖文教程)_docker
- 2023-01-01 解決React報錯No?duplicate?props?allowed_React
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支