सर्वलेट्स - हैंडलिंग तिथि

सर्वलेट का उपयोग करने का सबसे महत्वपूर्ण लाभ यह है कि आप कोर जावा में उपलब्ध अधिकांश विधियों का उपयोग कर सकते हैं। यह ट्यूटोरियल आपको जावा प्रदान के माध्यम से ले जाएगाDate जो वर्ग में उपलब्ध है java.util पैकेज, यह वर्ग वर्तमान तिथि और समय को अलग करता है।

दिनांक वर्ग दो कंस्ट्रक्टर का समर्थन करता है। पहला निर्माता वर्तमान दिनांक और समय के साथ ऑब्जेक्ट को इनिशियलाइज़ करता है।

Date( )

निम्नलिखित निर्माणकर्ता एक तर्क को स्वीकार करता है जो आधी रात के बाद से गिने जाने वाले मिलीसेकंड की संख्या के बराबर है, 1 जनवरी, 1970

Date(long millisec)

एक बार जब आपके पास दिनांक वस्तु उपलब्ध हो जाती है, तो आप तारीखों के साथ खेलने के लिए निम्नलिखित समर्थन विधियों में से किसी को भी कॉल कर सकते हैं -

अनु क्रमांक। तरीके और विवरण
1

boolean after(Date date)

यदि रिटर्न करने वाली दिनांक ऑब्जेक्ट में कोई दिनांक है जो बाद में दिनांक द्वारा निर्दिष्ट की गई तारीख से भिन्न है, तो सही है, अन्यथा, यह गलत है।

2

boolean before(Date date)

यदि रिटर्न करने वाली दिनांक ऑब्जेक्ट में वह दिनांक है, जो किसी दिनांक से पहले निर्दिष्ट की गई तिथि से भिन्न है, तो सही है, अन्यथा, यह गलत है।

3

Object clone( )

लागू दिनांक ऑब्जेक्ट को डुप्लिकेट करता है।

4

int compareTo(Date date)

उस दिनांक के साथ लागू वस्तु के मूल्य की तुलना करता है। मान बराबर होने पर 0 देता है। यदि नकारात्मक वस्तु पहले की तुलना में पुरानी है, तो नकारात्मक मान लौटाता है। एक सकारात्मक मान लौटाता है यदि आह्वान करने वाली वस्तु बाद की तारीख में हो।

5

int compareTo(Object obj)

यदि ओबीजी वर्ग तिथि का है, तो तुलनात्मक रूप से संचालन (तिथि) किया जाता है। अन्यथा, यह एक ClassCastException फेंकता है।

6

boolean equals(Object date)

अगर रिटर्न दिनांक ऑब्जेक्ट में एक ही समय और दिनांक के रूप में दिनांक द्वारा निर्दिष्ट है, अन्यथा, यह सही है, तो यह सही है।

7

long getTime( )

1 जनवरी, 1970 के बाद से मिले मिलीसेकंड की संख्या लौटाता है।

8

int hashCode( )

वापस आने वाली वस्तु के लिए एक हैश कोड देता है।

9

void setTime(long time)

समय और दिनांक को समय के अनुसार निर्दिष्ट करता है, जो 1 जनवरी, 1970 की आधी रात से मिलीसेकंड में बीता हुआ समय दर्शाता है।

10

String toString( )

लागू दिनांक ऑब्जेक्ट को एक स्ट्रिंग में परिवर्तित करता है और परिणाम लौटाता है।

वर्तमान तिथि और समय प्राप्त करना

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

// Import required java libraries
import java.io.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
 
// Extend HttpServlet class
public class CurrentDate extends HttpServlet {
 
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");
 
      PrintWriter out = response.getWriter();
      String title = "Display Current Date & Time";
      Date date = new Date();
      String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n";
      
      out.println(docType +
         "<html>\n" +
            "<head><title>" + title + "</title></head>\n" +
            "<body bgcolor = \"#f0f0f0\">\n" +
               "<h1 align = \"center\">" + title + "</h1>\n" +
               "<h2 align = \"center\">" + date.toString() + "</h2>\n" +
            "</body>
         </html>"
      );
   }
}

अब हम सर्वलेट के ऊपर संकलन करते हैं और web.xml में उपयुक्त प्रविष्टियाँ बनाते हैं और फिर URL http: // localhost: 8080 / CurrentDate का उपयोग करके इस सर्वलेट को कॉल करते हैं। इसका परिणाम निम्न होगा -

Display Current Date & Time

Mon Jun 21 21:46:49 GMT+04:00 2010

URL को रीफ़्रेश करने का प्रयास करें http: // localhost: 8080 / CurrentDate और जब भी आप रिफ्रेश करेंगे, आपको हर सेकंड में अंतर मिलेगा।

तारीख तुलना

जैसा कि मैंने ऊपर बताया है कि आप अपने सर्वलेट में सभी उपलब्ध जावा विधियों का उपयोग कर सकते हैं। मामले में आपको दो तिथियों की तुलना करने की आवश्यकता है, निम्नलिखित तरीके हैं -

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

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

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

SimpleDateFormat का उपयोग करते हुए दिनांक स्वरूपण

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

आइए हम उपरोक्त उदाहरण को संशोधित करें -

// Import required java libraries
import java.io.*;
import java.text.*;
import java.util.Date;
import javax.servlet.*;
import javax.servlet.http.*;
 
// Extend HttpServlet class
public class CurrentDate extends HttpServlet {
 
   public void doGet(HttpServletRequest request, HttpServletResponse response)
      throws ServletException, IOException {
      
      // Set response content type
      response.setContentType("text/html");
 
      PrintWriter out = response.getWriter();
      String title = "Display Current Date & Time";
      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
      String docType = "<!doctype html public \"-//w3c//dtd html 4.0 " + "transitional//en\">\n";
      
      out.println(docType +
         "<html>\n" +
            "<head><title>" + title + "</title></head>\n" +
            "<body bgcolor = \"#f0f0f0\">\n" +
               "<h1 align = \"center\">" + title + "</h1>\n" +
               "<h2 align = \"center\">" + ft.format(dNow) + "</h2>\n" +
            "</body>
         </html>"
      );
   }
}

एक बार फिर सर्वलेट के ऊपर संकलन करें और फिर URL http: // localhost: 8080 / CurrentDate का उपयोग करके इस सर्वलेट को कॉल करें। इसका परिणाम निम्न होगा -

Display Current Date & Time

Mon 2010.06.21 at 10:06:44 PM GMT+04:00

सरल DateFormat प्रारूप कोड

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

चरित्र विवरण उदाहरण
जी युग का सूत्रधार विज्ञापन
y चार अंकों में साल 2001
साल में महीना जुलाई या ० July
महीने में दिन 10
एच AM / PM में घंटे (1 ~ 12) 12
एच दिन में घंटा (0 ~ 23) 22
घंटे में मिनट 30
रों दूसरा मिनट में 55
रों मिलीसेकंड 234
सप्ताह में दिन मंगलवार
वर्ष में दिन 360
एफ महीने में सप्ताह का दिन 2 (जुलाई में दूसरा बुध)
w साल में सप्ताह 40
डब्ल्यू महीने में सप्ताह 1
AM / PM मार्कर बजे
दिन में घंटा (1 ~ 24) 24
AM / PM में घंटे (0 ~ 11) 10
जेड समय क्षेत्र पूर्व मानक समय
' पाठ के लिए बच सीमान्तक
" एकल बोली `

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