เมธอด DateTime.CompareTo() ใน C# ใช้เปรียบเทียบค่าของอินสแตนซ์นี้กับค่า DateTime ที่ระบุ
ไวยากรณ์
public int CompareTo (DateTime val);
พารามิเตอร์ val คือวันที่ที่ต้องการเปรียบเทียบ
ค่าที่คืนกลับเป็นจำนวนเต็ม:
- <0 - หากอินสแตนซ์นี้เร็วกว่า val
- 0 - หากอินสแตนซ์นี้เท่ากับ val
- >0 - หากอินสแตนซ์นี้ช้ากว่า val
ตัวอย่าง
ตัวอย่างที่ 1: เปรียบเทียบวันที่ที่เท่ากัน
using System;
public class Demo {
public static void Main(){
DateTime date1 = new DateTime(2019, 05, 20, 6, 20, 40);
DateTime date2 = new DateTime(2019, 05, 20, 6, 20, 40);
Console.WriteLine("DateTime 1 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", date1);
Console.WriteLine("DateTime 2 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", date2);
int res = date1.CompareTo(date2);
// คืนค่า 0 เนื่องจาก date1 เท่ากับ date2
Console.WriteLine(res);
}
}
ผลลัพธ์
DateTime 1 = 20 May 2019, 06:20:40 DateTime 2 = 20 May 2019, 06:20:40 0
ตัวอย่างเพิ่มเติม
ตัวอย่างที่ 2: เปรียบเทียบวันที่ที่ต่างกัน (date1 ช้ากว่า date2)
using System;
public class Demo {
public static void Main(){
DateTime date1 = new DateTime(2019, 08, 20, 6, 20, 40);
DateTime date2 = new DateTime(2019, 05, 20, 6, 20, 40);
Console.WriteLine("DateTime 1 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", date1);
Console.WriteLine("DateTime 2 = {0:dd} {0:y}, {0:hh}:{0:mm}:{0:ss} ", date2);
int res = date1.CompareTo(date2);
// คืนค่า >0 เนื่องจาก date1 ช้ากว่า date2
Console.WriteLine(res);
}
}
ผลลัพธ์
DateTime 1 = 20 August 2019, 06:20:40 DateTime 2 = 20 May 2019, 06:20:40 1