जावा दिनांक और समय सम्बंधित जानकारी (Java Date and Time in Hindi)

हम इस ट्यूटोरियल में सीखने वाले है कि जावा दिनांक और समय (Java Date and Time in Hindi) और हम इसे कैसे इस्तमाल कर सकते हैं? जावा java.util पैकेज में उपलब्ध दिनांक वर्ग प्रदान करता है, यह वर्ग वर्तमान दिनांक और समय को समाहित करता है।

दिनांक वर्ग दो कंस्ट्रक्टरों का समर्थन करता है जैसा कि निम्न तालिका में दिखाया गया है।

Sr.No.Constructor & Description
1Date( ) यह कंस्ट्रक्टर ऑब्जेक्ट को वर्तमान दिनांक और समय के साथ इनिशियलाइज़ करता है।
2Date(long millisec) यह कंस्ट्रक्टर एक तर्क को स्वीकार करता है जो 1 जनवरी, 1970 की आधी रात के बाद से मिलीसेकंड की संख्या के बराबर है।

Following are the methods of the date class.

Sr.No.Method & Description
1boolean after(Date date) यदि इनवोकिंग डेट ऑब्जेक्ट में तारीख द्वारा specified date के बाद की तारीख शामिल है, तो सही रिटर्न देता है, अन्यथा, यह गलत रिटर्न देता है।
2boolean before(Date date) अगर इनवोकिंग डेट ऑब्जेक्ट में तारीख द्वारा निर्दिष्ट तारीख से पहले की तारीख है, तो सही रिटर्न देता है, अन्यथा, यह गलत रिटर्न देता है।
3Object clone( ) इनवोकिंग डेट ऑब्जेक्ट को डुप्लिकेट करता है।
4int compareTo(Date date) आह्वान करने वाली object के मूल्य की तुलना Date से करता है। मान समान होने पर 0 लौटाता है। यदि आह्वान object Date से पहले की है तो ऋणात्मक मान लौटाता है। अगर इनवोकिंग ऑब्जेक्ट तारीख के बाद का है, तो एक सकारात्मक मान लौटाता है।
5int compareTo(Object obj) यदि ओबीजे कक्षा Date का है तो तुलना करने के लिए समान रूप से संचालित होता है (दिनांक)। अन्यथा, यह क्लासकास्ट अपवाद फेंकता है।
6boolean equals(Object date) अगर इनवोकिंग डेट ऑब्जेक्ट में वही समय और तारीख है जो तारीख द्वारा निर्दिष्ट है, तो सही रिटर्न देता है, अन्यथा, यह गलत रिटर्न देता है।
7long getTime( ) 1 जनवरी, 1970 से बीत चुके मिलीसेकंड की संख्या लौटाता है।
8int hashCode( ) इनवोकिंग ऑब्जेक्ट के लिए हैश कोड लौटाता है।
9void setTime(long time) समय के अनुसार निर्दिष्ट समय और दिनांक सेट करता है, जो 1 जनवरी, 1970 की मध्यरात्रि से मिलीसेकंड में बीता हुआ समय दर्शाता है।
10String toString( ) इनवोकिंग डेट ऑब्जेक्ट को एक स्ट्रिंग में कनवर्ट करता है और परिणाम देता है।

वर्तमान दिनांक और समय प्राप्त करना (Getting Current Date and Time)

जावा में वर्तमान दिनांक और समय प्राप्त करने के लिए यह एक बहुत ही आसान तरीका है। आप वर्तमान दिनांक और समय को निम्नानुसार प्रिंट करने के लिए toString () विधि के साथ एक साधारण दिनांक ऑब्जेक्ट का उपयोग कर सकते हैं –

Example

import java.util.Date;

public class DateDemo {

   public static void main(String args[]) {

      // दिनांक ऑब्जेक्ट को इंस्टेंट करें

      Date date = new Date();

      //toString () का उपयोग करके समय और दिनांक प्रदर्शित करें

      System.out.println(date.toString());

   }

}

यह निम्नलिखित परिणाम देगा –

Output

on May 04 09:51:52 CDT 2009

Date Comparison

दो Dateयों की तुलना करने के तीन तरीके निम्नलिखित हैं –

आप दोनों objectओं के लिए 1 जनवरी, 1970 की आधी रात के बाद से मिलीसेकंड की संख्या प्राप्त करने के लिए गेटटाइम () का उपयोग कर सकते हैं और फिर इन दो मूल्यों की तुलना कर सकते हैं।

आप पहले (), बाद (), और बराबर () विधियों का उपयोग कर सकते हैं। क्योंकि महीने की 12 तारीख 18 तारीख से पहले आती है, उदाहरण के लिए, new Date(99, 2, 12).before(new Date (99, 2, 18)) true रिटर्न करती है।

आप तुलना करने के लिए () विधि का उपयोग कर सकते हैं, जिसे तुलनात्मक इंटरफ़ेस द्वारा परिभाषित किया गया है और दिनांक द्वारा कार्यान्वित किया गया है।

दिनांक formatting SimpleDateFormat का उपयोग करना

SimpleDateFormat स्थानीय-संवेदनशील तरीके से दिनांकों को स्वरूपित और पार्स करने के लिए एक ठोस वर्ग है। SimpleDateFormat आपको दिनांक-समय formatting के लिए किसी भी उपयोगकर्ता-परिभाषित पैटर्न को चुनकर प्रारंभ करने की अनुमति देता है।

Example

import java.util.*;

import java.text.*;

public class DateDemo {

   public static void main(String args[]) {

      Date dNow = new Date( );

      SimpleDateFormat ft = 

      new SimpleDateFormat (“E yyyy.MM.dd ‘at’ hh:mm:ss a zzz”);

      System.out.println(“Current Date: ” + ft.format(dNow));

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Current Date: Sun 2004.07.18 at 04:14:09 PM PDT

सरल दिनांक स्वरूप स्वरूप कोड (SimpleDateFormat Format Codes)

समय प्रारूप निर्दिष्ट करने के लिए, समय पैटर्न स्ट्रिंग का उपयोग करें। इस पैटर्न में, सभी ASCII अक्षर पैटर्न अक्षरों के रूप में आरक्षित होते हैं, जिन्हें निम्नलिखित के रूप में परिभाषित किया जाता है –

CharacterDescriptionExample
GEra designatorAD
yYear in four digits2001
MMonth in yearJuly or 07
dDay in month10
hHour in A.M./P.M. (1~12)12
HHour in day (0~23)22
mMinute in hour30
sSecond in minute55
SMillisecond234
EDay in weekTuesday
DDay in year360
FDay of week in month2 (second Wed. in July)
wWeek in year40
WWeek in month1
aA.M./P.M. markerPM
kHour in day (1~24)24
KHour in A.M./P.M. (0~11)10
zTime zoneEastern Standard Time
Escape for textDelimiter
Single quote`

दिनांक formatting प्रिंटफ का उपयोग करना (Date Formatting Using printf)

प्रिंटफ विधि का उपयोग करके दिनांक और समय formatting बहुत आसानी से किया जा सकता है। आप एक दो-अक्षर प्रारूप का उपयोग करते हैं, जो टी से शुरू होता है और तालिका के अक्षरों में से एक में समाप्त होता है जैसा कि निम्न कोड में दिखाया गया है।

Example

import java.util.Date;

public class DateDemo {

   public static void main(String args[]) {

      // दिनांक ऑब्जेक्ट को इंस्टेंट करें

      Date date = new Date();

      // समय और दिनांक प्रदर्शित करें

      String str = String.format(“Current Date/Time : %tc”, date );

      System.out.printf(str);

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Current Date/Time : Sat Dec 15 16:37:57 MST 2012

यह थोड़ा मूर्खतापूर्ण होगा यदि आपको प्रत्येक भाग को प्रारूपित करने के लिए कई बार तारीख की आपूर्ति करनी पड़े। उस कारण से, एक प्रारूप स्ट्रिंग स्वरूपित किए जाने वाले तर्क के सूचकांक को इंगित कर सकती है।

इंडेक्स को तुरंत % का पालन करना चाहिए और इसे $ द्वारा समाप्त किया जाना चाहिए।

Example

import java.util.Date;

public class DateDemo {

   public static void main(String args[]) {

      // दिनांक ऑब्जेक्ट को इंस्टेंट करें

      Date date = new Date();

      // समय और दिनांक प्रदर्शित करें

      System.out.printf(“%1$s %2$tB %2$td, %2$tY”, “Due date:”, date);

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Due date: February 09, 2004

वैकल्पिक रूप से, आप <ध्वज का उपयोग कर सकते हैं। यह इंगित करता है कि पूर्ववर्ती प्रारूप विनिर्देश के समान तर्क का फिर से उपयोग किया जाना चाहिए।

Example

import java.util.Date;

public class DateDemo {

   public static void main(String args[]) {

      // दिनांक ऑब्जेक्ट को इंस्टेंट करें

      Date date = new Date();

      //स्वरूपित दिनांक प्रदर्शित करें

      System.out.printf(“%s %tB %<te, %<tY”, “Due date:”, date);

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Due date: February 09, 2004

Date and Time Conversion Characters

CharacterDescriptionExample
cComplete date and timeMon May 04 09:51:52 CDT 2009
FISO 8601 date2004-02-09
DU.S. formatted date (month/day/year)02/09/2004
T24-hour time18:05:19
r12-hour time06:05:19 pm
R24-hour time, no seconds18:05
YFour-digit year (with leading zeroes)2004
yLast two digits of the year (with leading zeroes)04
CFirst two digits of the year (with leading zeroes)20
BFull month nameFebruary
bAbbreviated month nameFeb
mTwo-digit month (with leading zeroes)02
dTwo-digit day (with leading zeroes)03
eTwo-digit day (without leading zeroes)9
AFull weekday nameMonday
aAbbreviated weekday nameMon
jThree-digit day of year (with leading zeroes)069
HTwo-digit hour (with leading zeroes), between 00 and 2318
kTwo-digit hour (without leading zeroes), between 0 and 2318
ITwo-digit hour (with leading zeroes), between 01 and 1206
lTwo-digit hour (without leading zeroes), between 1 and 126
MTwo-digit minutes (with leading zeroes)05
STwo-digit seconds (with leading zeroes)19
LThree-digit milliseconds (with leading zeroes)047
NNine-digit nanoseconds (with leading zeroes)047000000
PUppercase morning or afternoon markerPM
pLowercase morning or afternoon markerpm
zRFC 822 numeric offset from GMT-0800
ZTime zonePST
sSeconds since 1970-01-01 00:00:00 GMT1078884319
QMilliseconds since 1970-01-01 00:00:00 GMT1078884319047

दिनांक और समय से संबंधित अन्य उपयोगी वर्ग हैं। अधिक विवरण के लिए, आप जावा मानक दस्तावेज़ीकरण का उल्लेख कर सकते हैं।

स्ट्रिंग्स को डेट्स में पार्स करना (Parsing Strings into Dates)

SimpleDateFormat वर्ग में कुछ अतिरिक्त विधियाँ हैं, विशेष रूप से पार्स (), जो दिए गए SimpleDateFormat ऑब्जेक्ट में संग्रहीत प्रारूप के अनुसार एक स्ट्रिंग को पार्स करने का प्रयास करता है।

Example

import java.util.*;

import java.text.*;

public class DateDemo {

   public static void main(String args[]) {

      SimpleDateFormat ft = new SimpleDateFormat (“yyyy-MM-dd”); 

      String input = args.length == 0 ? “1818-11-11” : args[0]; 

      System.out.print(input + ” Parses as “); 

      Date t;

      try {

         t = ft.parse(input); 

         System.out.println(t); 

      } catch (ParseException e) { 

         System.out.println(“Unparseable using ” + ft); 

      }

   }

}

उपरोक्त कार्यक्रम का एक नमूना रन निम्नलिखित परिणाम देगा –

Output

1818-11-11 Parses as Wed Nov 11 00:00:00 EST 1818

Sleeping for a While

आप एक मिलीसेकंड से लेकर अपने कंप्यूटर के जीवनकाल तक किसी भी समय तक सो सकते हैं। उदाहरण के लिए, निम्न प्रोग्राम 3 सेकंड के लिए सोएगा –

Example

import java.util.*;

public class SleepDemo {

   public static void main(String args[]) {

      try { 

         System.out.println(new Date( ) + “\n”); 

         Thread.sleep(5*60*10); 

         System.out.println(new Date( ) + “\n”); 

      } catch (Exception e) {

         System.out.println(“Got an exception!”); 

      }

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Sun May 03 18:04:41 GMT 2009

Sun May 03 18:04:51 GMT 2009

बीता हुआ समय मापना (Measuring Elapsed Time in Hindi)

कभी-कभी, आपको मिलीसेकंड में समय बिंदु को मापने की आवश्यकता हो सकती है। तो चलिए उपरोक्त उदाहरण को एक बार फिर से लिखते हैं –

Example

import java.util.*;

public class DiffDemo {

   public static void main(String args[]) {

      try {

         long start = System.currentTimeMillis( );

         System.out.println(new Date( ) + “\n”);

         Thread.sleep(5*60*10);

         System.out.println(new Date( ) + “\n”);

         long end = System.currentTimeMillis( );

         long diff = end – start;

         System.out.println(“Difference is : ” + diff);

      } catch (Exception e) {

         System.out.println(“Got an exception!”);

      }

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Sun May 03 18:16:51 GMT 2009

Sun May 03 18:16:57 GMT 2009

Difference is : 5993

ग्रेगोरियन कैलेंडर वर्ग (GregorianCalendar Class in Hindi)

ग्रेगोरियन कैलेंडर एक कैलेंडर वर्ग का एक ठोस कार्यान्वयन है जो सामान्य ग्रेगोरियन कैलेंडर को लागू करता है जिससे आप परिचित हैं। हमने इस ट्यूटोरियल में कैलेंडर क्लास पर चर्चा नहीं की, आप इसके लिए मानक जावा दस्तावेज़ देख सकते हैं।

कैलेंडर की getInstance () विधि एक ग्रेगोरियन कैलेंडर को डिफ़ॉल्ट स्थान और समय क्षेत्र में वर्तमान दिनांक और समय के साथ प्रारंभ करती है। ग्रेगोरियन कैलेंडर दो क्षेत्रों को परिभाषित करता है: AD और BC। ये ग्रेगोरियन कैलेंडर द्वारा परिभाषित दो युगों का प्रतिनिधित्व करते हैं।

ग्रेगोरियनकैलेंडर ऑब्जेक्ट्स के लिए भी कई कंस्ट्रक्टर हैं –

Sr.No.Constructor & Description
1GregorianCalendar() डिफ़ॉल्ट लोकेल के साथ डिफ़ॉल्ट समय क्षेत्र में वर्तमान समय का उपयोग करके एक डिफ़ॉल्ट ग्रेगोरियन कैलेंडर बनाता है।
2GregorianCalendar(int year, int month, int date) डिफ़ॉल्ट लोकेल के साथ डिफ़ॉल्ट समय क्षेत्र में निर्धारित Date के साथ एक ग्रेगोरियन कैलेंडर का निर्माण करता है।
3GregorianCalendar(int year, int month, int date, int hour, int minute) डिफ़ॉल्ट लोकेल के साथ डिफ़ॉल्ट समय क्षेत्र के लिए दी गई Date और समय सेट के साथ एक ग्रेगोरियन कैलेंडर बनाता है।
4GregorianCalendar(int year, int month, int date, int hour, int minute, int second) डिफ़ॉल्ट लोकेल के साथ डिफ़ॉल्ट समय क्षेत्र के लिए दी गई Date और समय सेट के साथ एक ग्रेगोरियन कैलेंडर बनाता है।
5GregorianCalendar(Locale aLocale) दिए गए लोकेल के साथ डिफ़ॉल्ट समय क्षेत्र में वर्तमान समय के आधार पर एक ग्रेगोरियन कैलेंडर बनाता है।
6GregorianCalendar(TimeZone zone) डिफ़ॉल्ट लोकेल के साथ दिए गए समय क्षेत्र में वर्तमान समय के आधार पर एक ग्रेगोरियन कैलेंडर बनाता है।
7GregorianCalendar(TimeZone zone, Locale aLocale) दिए गए लोकेल के साथ दिए गए समय क्षेत्र में वर्तमान समय के आधार पर एक ग्रेगोरियन कैलेंडर बनाता है।

यहां ग्रेगोरियनकैलेंडर वर्ग द्वारा प्रदान की जाने वाली कुछ उपयोगी सहायता विधियों की सूची दी गई है –

Sr.No.Method & Description
1void add(int field, int amount) कैलेंडर के नियमों के आधार पर दिए गए समय क्षेत्र में निर्दिष्ट (हस्ताक्षरित) समय जोड़ता है।
2protected void computeFields() यूटीसी को मिलीसेकंड के रूप में टाइम फील्ड वैल्यू में कनवर्ट करता है।
3protected void computeTime() कैलेंडर को ओवरराइड करता है समय फ़ील्ड मान को मिलीसेकंड के रूप में UTC में कनवर्ट करता है।
4boolean equals(Object obj) इस ग्रेगोरियन कैलेंडर की तुलना किसी object संदर्भ से करता है।
5int get(int field) किसी दिए गए समय क्षेत्र के लिए मान प्राप्त करता है।
6int getActualMaximum(int field) वह अधिकतम मान लौटाता है, जो इस फ़ील्ड में हो सकता था, वर्तमान Date को देखते हुए।
7int getActualMinimum(int field) वह न्यूनतम मान लौटाता है जो इस फ़ील्ड में हो सकता था, वर्तमान Date को देखते हुए।
8int getGreatestMinimum(int field) भिन्न होने पर दिए गए फ़ील्ड के लिए उच्चतम न्यूनतम मान लौटाता है।
9Date getGregorianChange() ग्रेगोरियन कैलेंडर परिवर्तन दिनांक प्राप्त करता है।
10int getLeastMaximum(int field) भिन्न होने पर दिए गए फ़ील्ड के लिए निम्नतम अधिकतम मान लौटाता है।
11int getMaximum(int field) दिए गए फ़ील्ड के लिए अधिकतम मान लौटाता है।
12Date getTime() इस कैलेंडर का वर्तमान समय प्राप्त करता है।
13long getTimeInMillis() इस कैलेंडर का वर्तमान समय लंबा प्राप्त करता है।
14TimeZone getTimeZone() समय क्षेत्र प्राप्त करता है।
15int getMinimum(int field) दिए गए फ़ील्ड के लिए न्यूनतम मान लौटाता है।
16int hashCode() हैशकोड को ओवरराइड करता है।
17boolean isLeapYear(int year) निर्धारित करता है कि दिया गया वर्ष लीप वर्ष है या नहीं।
18void roll(int field, boolean up) बड़े क्षेत्रों को बदले बिना दिए गए समय क्षेत्र में समय की एक इकाई को जोड़ता या घटाता (ऊपर/नीचे) करता है।
19void set(int field, int value) दिए गए मान के साथ समय क्षेत्र सेट करता है।
20void set(int year, int month, int date) फ़ील्ड वर्ष, माह और दिनांक के लिए मान सेट करता है।
21void set(int year, int month, int date, int hour, int minute) फ़ील्ड वर्ष, माह, दिनांक, घंटा और मिनट के लिए मान सेट करता है।
22void set(int year, int month, int date, int hour, int minute, int second) फ़ील्ड वर्ष, माह, दिनांक, घंटा, मिनट और सेकंड के लिए मान सेट करता है।
23void setGregorianChange(Date date) ग्रेगोरियन कैलेंडर परिवर्तन Date सेट करता है।
24void setTime(Date date) दी गई Date के साथ इस कैलेंडर का वर्तमान समय सेट करता है।
25void setTimeInMillis(long millis) इस कैलेंडर का वर्तमान समय दिए गए लंबे मान से सेट करता है।
26void setTimeZone(TimeZone value) दिए गए समय क्षेत्र मान के साथ समय क्षेत्र सेट करता है।
27String toString() इस कैलेंडर का एक स्ट्रिंग प्रतिनिधित्व देता है।

Example

import java.util.*;

public class GregorianCalendarDemo {

   public static void main(String args[]) {

      String months[] = {“Jan”, “Feb”, “Mar”, “Apr”, “May”, “Jun”, “Jul”, “Aug”, “Sep”, 

         “Oct”, “Nov”, “Dec”};

      int year;

      // प्रारंभ में एक ग्रेगोरियन कैलेंडर बनाएँ

      // में वर्तमान दिनांक और समय के साथ

      // डिफ़ॉल्ट लोकेल और टाइमज़ोन।

      GregorianCalendar gcalendar = new GregorianCalendar();

      // वर्तमान समय और दिनांक की जानकारी प्रदर्शित करें।

      System.out.print(“Date: “);

      System.out.print(months[gcalendar.get(Calendar.MONTH)]);

      System.out.print(” ” + gcalendar.get(Calendar.DATE) + ” “);

      System.out.println(year = gcalendar.get(Calendar.YEAR));

      System.out.print(“Time: “);

      System.out.print(gcalendar.get(Calendar.HOUR) + “:”);

      System.out.print(gcalendar.get(Calendar.MINUTE) + “:”);

      System.out.println(gcalendar.get(Calendar.SECOND));

      // परीक्षण करें कि क्या चालू वर्ष लीप वर्ष है

      if(gcalendar.isLeapYear(year)) {

         System.out.println(“The current year is a leap year”);

      }else {

         System.out.println(“The current year is not a leap year”);

      }

   }

}

यह निम्नलिखित परिणाम देगा –

Output

Date: Apr 22 2009

Time: 11:25:27

The current year लीप वर्ष नहीं है

कैलेंडर वर्ग में उपलब्ध स्थिरांक की पूरी सूची के लिए, आप मानक जावा दस्तावेज़ देख सकते हैं।

हम उम्मीद करते है कि आपको “जावा दिनांक और समय (Java Date and Time in Hindi)” से सम्बंधित जानकारी हिंदी में समझ में आयी होंगी यदि आपको बताई गई जानकारी अच्छी लगी हो तो अपने दोस्तों में ऐसे शेयर करे जिससे उनकी भी हेल्प हो सके धन्यवाद!

RELATED ARTICLES

कोई जवाब दें

कृपया अपनी टिप्पणी दर्ज करें!
कृपया अपना नाम यहाँ दर्ज करें

Subject Topics

Latest Topic

lang="hi-IN"