C#時間操作
C#中時間操作相關方法
C# 中處理日期和時間
創建 DateTime
物件
DateTime
是一個結構體,定義於 System
命名空間中。創建 DateTime
物件的方法主要有以下幾種:
- 使用構造函數:可以通過指定年、月、日等訊息來創建一個
DateTime
物件。1
DateTime dateTime = new DateTime(2015, 1, 1);
- 獲取當前時間:可以使用
DateTime.Now
來獲得當前的日期和時間。1
DateTime now = DateTime.Now;
- 獲取今天的日期:若只需要日期部分,可以使用
DateTime.Today
。1
DateTime today = DateTime.Today;
訪問 DateTime
的組件
創建了 DateTime
物件後,我們可以輕鬆地訪問其年、月、日、小時、分鐘等組件。
1 | int year = now.Year; |
修改 DateTime
物件
由於 DateTime
物件是不可變的,我們無法直接修改它。但是,我們可以使用 Add
系列的方法來獲得一個新的 DateTime
物件。
1 | DateTime tomorrow = now.AddDays(1); // 加一天 |
格式化 DateTime
物件
DateTime
提供了多種方法將日期和時間轉換為字串形式,以便於顯示或存儲。
長日期和短日期格式:
1
2string longDateString = now.ToLongDateString();
string shortDateString = now.ToShortDateString();長時間和短時間格式:
1
2string longTimeString = now.ToLongTimeString();
string shortTimeString = now.ToShortTimeString();自定義格式:
1
string customFormat = now.ToString("yyyy-MM-dd HH:mm");
C# 中的 TimeSpan
創建 TimeSpan
物件
使用構造函數
1 | TimeSpan timeSpan = new TimeSpan(1, 2, 3); // 1小時2分鐘3秒 |
如果不需要分鐘和秒,可以將它們設置為零:
1 | TimeSpan timeSpan = new TimeSpan(1, 0, 0); // 1小時0分鐘0秒 |
使用靜態方法
為了提高可讀性,可以使用 TimeSpan
的靜態方法:
1 | TimeSpan oneHour = TimeSpan.FromHours(1); // 1小時 |
使用 DateTime
減法
從兩個 DateTime
物件中減去一個,結果是一個 TimeSpan
:
1 | DateTime start = DateTime.Now; |
讀取 TimeSpan
屬性
TimeSpan
提供了一系列的屬性來獲取時間的各個部分:
1 | int hours = timeSpan.Hours; // 小時 |
同時,TimeSpan
提供了 Total
開頭的屬性來獲取完整的時間量:
1 | double totalMinutes = timeSpan.TotalMinutes; // 總分鐘數 |
修改 TimeSpan
TimeSpan
是不可變的,但提供了 Add
和 Subtract
方法來獲取新的 TimeSpan
物件:
1 | TimeSpan added = timeSpan.Add(TimeSpan.FromMinutes(8)); // 加8分鐘 |
轉換為/從字串
TimeSpan
可以很容易地轉換為字串,也可以從字串解析:
1 | string str = timeSpan.ToString(); // 轉換為字串 |