封裝常用日期時間運算與格式化功能的 DateUtils 靜態類別,提供年份差計算、多樣化格式化輸出,適合專案共用參考。
// 單一日期與現在的年份差
public static int DiffYear(string start)
public static int DiffYear(DateTime start)
// 兩個日期的年份差
public static int DiffYear(string start, string end)
public static int DiffYear(DateTime start, DateTime end)
// 實作邏輯:單純用 Year 屬性相減
return end.Year - start.Year;
注意:此算法僅計算年份數值差,不考慮月日是否已過,如 2023/12/31 與 2024/01/01 會回傳 1 年差。精確年齡計算需額外判斷月日。
// 預設 yyyy-MM-dd
public static string DateFormat()
public static string DateFormat(string date)
public static string DateFormat(DateTime date)
// 自訂格式
public static string DateFormat(string date, string format)
public static string DateFormat(DateTime date, string format)
// 實作核心
return date.ToString(format);
// 預設 yyyy-MM-dd HH:mm
public static string DateTimeFormat(DateTime datetime)
public static string DateTimeFormat(DateTime datetime, string format)
DateUtils.DiffYear("2020-01-01", "2024-06-15"); // 回傳 4
DateUtils.DateFormat(DateTime.Now); // "2024-06-15"
DateUtils.DateFormat(DateTime.Now, "yyyy/MM/dd"); // "2024/06/15"
DateUtils.DateTimeFormat(DateTime.Now); // "2024-06-15 14:30"
DateUtils.DateTimeFormat(DateTime.Now, "HH:mm:ss"); // "14:30:45"
DiffMonth、DiffDay、DiffHour 等精確間隔方法(可用 TimeSpan 實作)。TryParse 風格的安全解析方法,避免 Convert.ToDateTime 拋出例外。