Java:
दो तारीखों की तुलना
How to (कैसे करें):
Java में, LocalDate
, LocalDateTime
, और ZonedDateTime
क्लासेस द्वारा आसानी से डेट्स की तुलना की जा सकती है। चलिए देखते हैं कैसे:
import java.time.LocalDate;
public class DateComparison {
public static void main(String[] args) {
LocalDate date1 = LocalDate.of(2023, 4, 1);
LocalDate date2 = LocalDate.now();
if(date1.isBefore(date2)) {
System.out.println("Date1 is before Date2");
} else if(date1.isEqual(date2)) {
System.out.println("Date1 is the same as Date2");
} else {
System.out.println("Date1 is after Date2");
}
}
}
इस कोड का आउटपुट आज की तारीख पर निर्भर करेगा।
Deep Dive (गहन जानकारी):
तारीखों की तुलना का इतिहास Java के संस्करणों के साथ बदला है। java.util.Date
और java.util.Calendar
से शुरू होकर, Java 8 में java.time
पैकेज ने इस काम को आसान और अधिक आधुनिक बना दिया।
पुराने Date
और Calendar
ऑब्जेक्ट्स के बजाय, LocalDate
का इस्तेमाल करना बेहतर है क्योंकि यह immutable होते हैं और thread-safe होते हैं। इसके अलावा, LocalDate
में केवल दिन, महीने और साल होते हैं, न कि टाइम ज़ोन और टाइम जैसे एक्स्ट्रा डिटेल्स।
यदि आपको समय और टाइम ज़ोन के साथ तारीख की तुलना करनी है, तो ZonedDateTime
का प्रयोग करें।
import java.time.ZonedDateTime;
import java.time.ZoneId;
public class DateTimeComparison {
public static void main(String[] args) {
ZonedDateTime dateTime1 = ZonedDateTime.now(ZoneId.of("Asia/Kolkata"));
ZonedDateTime dateTime2 = ZonedDateTime.now(ZoneId.of("America/New_York"));
if(dateTime1.isBefore(dateTime2)) {
System.out.println("DateTime1 is before DateTime2");
} else if(dateTime1.isEqual(dateTime2)) {
System.out.println("DateTime1 is the same as DateTime2");
} else {
System.out.println("DateTime1 is after DateTime2");
}
}
}
यहां भी आउटपुट वर्तमान समय पर निर्भर करेगा।