Serwlety - data obsługi

Jedną z najważniejszych zalet używania Servlet jest to, że można używać większości metod dostępnych w rdzeniu Javy. Ten samouczek przeprowadzi Cię przez dostarczoną JavęDate klasa, która jest dostępna w java.util pakiet, ta klasa zawiera aktualną datę i godzinę.

Klasa Date obsługuje dwa konstruktory. Pierwszy konstruktor inicjuje obiekt z bieżącą datą i godziną.

Date( )

Poniższy konstruktor akceptuje jeden argument, który jest równy liczbie milisekund, które upłynęły od północy 1 stycznia 1970

Date(long millisec)

Gdy masz już dostępny obiekt Date, możesz wywołać dowolną z następujących metod wsparcia, aby grać z datami -

Sr.No. Metody i opis
1

boolean after(Date date)

Zwraca wartość true, jeśli wywołujący obiekt Date zawiera datę późniejszą niż określona przez date, w przeciwnym razie zwraca false.

2

boolean before(Date date)

Zwraca wartość true, jeśli wywołujący obiekt Date zawiera datę wcześniejszą niż określona przez date, w przeciwnym razie zwraca false.

3

Object clone( )

Duplikuje wywołujący obiekt Date.

4

int compareTo(Date date)

Porównuje wartość obiektu wywołującego z wartością date. Zwraca 0, jeśli wartości są równe. Zwraca wartość ujemną, jeśli obiekt wywołujący jest wcześniejszy niż data. Zwraca wartość dodatnią, jeśli obiekt wywołujący jest późniejszy niż data.

5

int compareTo(Object obj)

Działa identycznie jak compareTo (Date), jeśli obiekt należy do klasy Date. W przeciwnym razie zgłasza ClassCastException.

6

boolean equals(Object date)

Zwraca wartość true, jeśli wywołujący obiekt Date zawiera tę samą godzinę i datę, co określona przez date, w przeciwnym razie zwraca false.

7

long getTime( )

Zwraca liczbę milisekund, które upłynęły od 1 stycznia 1970 r.

8

int hashCode( )

Zwraca kod skrótu dla wywołującego obiektu.

9

void setTime(long time)

Ustawia godzinę i datę zgodnie z godziną, która reprezentuje czas, który upłynął w milisekundach od północy 1 stycznia 1970 r.

10

String toString( )

Konwertuje wywołujący obiekt Date na ciąg i zwraca wynik.

Pobieranie aktualnej daty i godziny

Bardzo łatwo jest uzyskać aktualną datę i godzinę w Java Servlet. Możesz użyć prostego obiektu Date z metodą toString () , aby wydrukować bieżącą datę i godzinę w następujący sposób -

// 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>"
      );
   }
}

Teraz skompilujmy powyżej serwlet i utwórzmy odpowiednie wpisy w web.xml, a następnie wywołajmy ten serwlet przy użyciu adresu URL http: // localhost: 8080 / CurrentDate. Dałoby to następujący wynik -

Display Current Date & Time

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

Spróbuj odświeżyć adres URL http: // localhost: 8080 / CurrentDate, a zauważysz różnicę w sekundach przy każdym odświeżaniu.

Porównanie dat

Jak wspomniałem powyżej, możesz użyć wszystkich dostępnych metod Java w swoim serwlecie. W przypadku konieczności porównania dwóch dat, poniżej przedstawiono metody -

  • Możesz użyć metody getTime (), aby uzyskać liczbę milisekund, które upłynęły od północy 1 stycznia 1970 r. Dla obu obiektów, a następnie porównać te dwie wartości.

  • Możesz użyć metod przed (), after () i equals (). Ponieważ 12 dzień miesiąca przypada na przykład przed 18. dniem, new Date (99, 2, 12) .before (new Date (99, 2, 18)) zwraca wartość true.

  • Możesz użyć metody compareTo (), która jest definiowana przez interfejs Comparable i implementowana przez Date.

Formatowanie daty przy użyciu SimpleDateFormat

SimpleDateFormat to konkretna klasa do formatowania i analizowania dat w sposób uwzględniający lokalizację. SimpleDateFormat umożliwia rozpoczęcie od wybrania dowolnych wzorców zdefiniowanych przez użytkownika do formatowania daty i godziny.

Zmodyfikujmy powyższy przykład w następujący sposób -

// 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>"
      );
   }
}

Ponownie skompiluj powyższy serwlet, a następnie wywołaj go przy użyciu adresu URL http: // localhost: 8080 / CurrentDate. Dałoby to następujący wynik -

Display Current Date & Time

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

Proste kody formatu DateFormat

Aby określić format czasu, użyj łańcucha wzorca czasu. W tym wzorze wszystkie litery ASCII są zarezerwowane jako litery wzoru, które są zdefiniowane w następujący sposób:

Postać Opis Przykład
sol Wyznacznik ery OGŁOSZENIE
y Rok za pomocą czterech cyfr 2001
M Miesiąc w roku Lipiec lub 07
re Dzień w miesiącu 10
godz Godzina w godzinach AM / PM (1 ~ 12) 12
H. Godzina w dzień (0 ~ 23) 22
m Minuta za godzinę 30
s Sekunda za minutę 55
S Milisekunda 234
mi Dzień w tygodniu wtorek
re Dzień w roku 360
fa Dzień tygodnia w miesiącu 2 (druga środa lipca)
w Tydzień w roku 40
W. Tydzień w miesiącu 1
za Znacznik AM / PM PO POŁUDNIU
k Godzina w dzień (1 ~ 24) 24
K. Godzina w godzinach AM / PM (0 ~ 11) 10
z Strefa czasowa Wschodni czas standardowy
' Escape dla tekstu Separator
" Pojedynczy cudzysłów `

Pełną listę dostępnych metod manipulowania datą można znaleźć w standardowej dokumentacji języka Java.