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