जावा में दिनांक और समय के साथ कार्य: पूर्ण गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

जावा में दिनांक और समय के साथ कार्य का परिचय

दिनांक और समय के साथ कार्य करना एप्लिकेशन डेवलपमेंट में सबसे सामान्य कार्यों में से एक है। जावा इस उद्देश्य के लिए शक्तिशाली उपकरण प्रदान करता है। लंबे समय तक, मुख्य वर्ग java.util.Date था, लेकिन इसमें गंभीर कमियाँ थीं: परिवर्तनशीलता, महीनों में भ्रम (0 से शुरू) और समय क्षेत्रों के लिए समर्थन की कमी। Java 8 के आगमन के साथ स्थिति पूरी तरह से बदल गई — एक नया Date/Time API (पैकेज java.time) सामने आया, जो थ्रेड-सेफ, अपरिवर्तनीय और सहज है। इस लेख में, हम दोनों दृष्टिकोणों पर चर्चा करेंगे, लेकिन मुख्य ध्यान आधुनिक API पर होगा।



1. लीगेसी API: Date और Calendar

हालाँकि नए कोड में पुराने वर्गों का उपयोग करने की अनुशंसा नहीं की जाती है, आप उन्हें लीगेसी प्रोजेक्ट्स में देख सकते हैं। आइए मुख्य बिंदुओं पर नज़र डालें।



Date वर्ग

java.util.Date वर्ग मिलीसेकंड सटीकता के साथ समय में एक विशिष्ट क्षण का प्रतिनिधित्व करता है। इसके कई पुराने तरीके हैं।

import java.util.Date;

public class LegacyDateExample { public static void main(String[] args) { // वर्तमान दिनांक और समय Date now = new Date(); System.out.println("वर्तमान दिनांक: " + now);

// मिलीसेकंड के आधार पर दिनांक (1 जनवरी 1970 से) Date specificDate = new Date(1000000000000L); System.out.println("Timestamp के अनुसार दिनांक: " + specificDate);

// दिनांकों की तुलना Date earlier = new Date(0); boolean isBefore = earlier.before(now); // true System.out.println("पहले? " + isBefore); }}


Calendar वर्ग

java.util.Calendar — अधिक लचीला, लेकिन बोझिल उपकरण। यह दिनांक फ़ील्ड में हेरफेर करने की अनुमति देता है।

import java.util.Calendar;

public class CalendarExample { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); // विशिष्ट दिनांक सेट करना: 25 दिसंबर 2024 cal.set(2024, Calendar.DECEMBER, 25, 10, 30, 0); System.out.println("दिनांक: " + cal.getTime());

// 2 सप्ताह जोड़ना cal.add(Calendar.WEEK_OF_YEAR, 2); System.out.println("2 सप्ताह बाद: " + cal.getTime());

// अलग-अलग फ़ील्ड प्राप्त करना int dayOfMonth = cal.get(Calendar.DAY_OF_MONTH); int month = cal.get(Calendar.MONTH) + 1; // +1, क्योंकि जनवरी = 0 System.out.println("दिन: " + dayOfMonth + ", महीना: " + month); }}

कमियाँ: परिवर्तनशीलता (add विधि मूल ऑब्जेक्ट को बदल देती है), फ़ॉर्मेटिंग की जटिलता, समय क्षेत्रों में भ्रम।



2. आधुनिक Date/Time API (Java 8+)

पैकेज java.time में प्रमुख वर्ग शामिल हैं: LocalDate, LocalTime, LocalDateTime, ZonedDateTime, Instant और अन्य। ये सभी अपरिवर्तनीय और थ्रेड-सेफ हैं।



LocalDate — दिनांक के साथ कार्य

बिना समय और समय क्षेत्र के दिनांक संग्रहीत करता है (वर्ष, महीना, दिन)।

import java.time.LocalDate;import java.time.Month;

public class LocalDateExample { public static void main(String[] args) { // वर्तमान दिनांक LocalDate today = LocalDate.now(); System.out.println("आज: " + today);

// विशिष्ट दिनांक LocalDate newYear = LocalDate.of(2025, Month.JANUARY, 1); System.out.println("नया साल: " + newYear);

// दिनांक अंकगणित LocalDate nextWeek = today.plusWeeks(1); LocalDate lastMonth = today.minusMonths(1); System.out.println("एक सप्ताह बाद: " + nextWeek); System.out.println("एक महीना पहले: " + lastMonth);

// तुलना boolean isAfter = today.isAfter(newYear); // false System.out.println("क्या आज नए साल के बाद है? " + isAfter); }}


LocalTime — समय के साथ कार्य

समय संग्रहीत करता है (घंटा

ब्लॉग

पुस्तक अनुशंसाएँ