string s1 = "12:13", s2 = "14:14";
DateTime dt1 = Convert.ToDateTime(s1);
DateTime dt2 = Convert.ToDateTime(s2);
DateTime now = DateTime.Now;
if (DateTime.Compare(dt1, dt2) > 0)
Console.WriteLine($"{s1} > {s2}");
else
Console.WriteLine($"{s1} < {s2}");
if (DateTime.Compare(dt1, now) > 0)
Console.WriteLine($"{s1} > {now}");
else
Console.WriteLine($"{s1} < {now}");
int:< 0 (第一較早)、= 0 (相等)、> 0 (第一較晚)。DateTime。
private string DateDiff(DateTime dt1, DateTime dt2)
{
try
{
TimeSpan ts1 = new TimeSpan(dt1.Ticks);
TimeSpan ts2 = new TimeSpan(dt2.Ticks);
TimeSpan diff = ts1.Subtract(ts2).Duration(); // 絕對值
return $"{diff.Days}天 {diff.Hours}小時 {diff.Minutes}分 {diff.Seconds}秒";
}
catch { return null; }
}
Duration() 回傳絕對值 TimeSpan。
TimeSpan span = new TimeSpan(40, 0, 0, 0); // 40 天
DateTime past = DateTime.Now.Subtract(span);
Console.WriteLine($"{DateTime.Now} - 40天 = {past}");
DateTime.Subtract(TimeSpan) 回傳新 DateTime。TimeSpan 建構函式:new TimeSpan(days, hours, minutes, seconds)。DateTime 支援 +、- (與 TimeSpan)、- (兩 DateTime 相減得 TimeSpan)、比較運算子 (<, >, <=, >=, ==, !=)。