Latest web development tutorials

Aplet Data Processing

Jedną z ważniejszych zalet stosowania serwletu, które mogą być używane w większości rdzeń dostępne metody Java. Ten rozdział wyjaśnipakiet java.util dostarczone przez klasy DateJava, który kapsułkuje aktualną datę i godzinę.

Data obsługuje dwie klasy konstruktorów. Pierwszy konstruktor, aby zainicjować obiektu aktualną datę i godzinę.

Date( )

Poniższy konstruktor przyjmuje parametr, który jest równa liczbie milisekund, które upłynęły od 1 stycznia 1970 o północy.

Date(long millisec)

Gdy masz dostępnego obiektu Date, można wywołać dowolną z następujących sposobów wykorzystania pomocy Data:

序号方法 & 描述
1boolean after(Date date)
如果调用的 Date 对象中包含的日期在 date 指定的日期之后,则返回 true,否则返回 false。
2boolean before(Date date)
如果调用的 Date 对象中包含的日期在 date 指定的日期之前,则返回 true,否则返回 false。
3Object clone( )
重复调用 Date 对象。
4int compareTo(Date date)
把调用对象的值与 date 的值进行比较。如果两个值是相等的,则返回 0。如果调用对象在 date 之前,则返回一个负值。如果调用对象在 date 之后,则返回一个正值。
5int compareTo(Object obj)
如果 obj 是 Date 类,则操作等同于 compareTo(Date)。否则,它会抛出一个 ClassCastException。
6boolean equals(Object date)
如果调用的 Date 对象中包含的时间和日期与 date 指定的相同,则返回 true,否则返回 false。
7long getTime( )
返回 1970 年 1 月 1 日以来经过的毫秒数。
8int hashCode( )
为调用对象返回哈希代码。
9void setTime(long time)
设置 time 指定的时间和日期,这表示从 1970 年 1 月 1 日午夜以来经过的时间(以毫秒为单位)。
10String toString( )
转换调用的 Date 对象为一个字符串,并返回结果。

Pobiera aktualną datę i czas

Pobiera bieżącą datę i czas w Java Servlet jest bardzo proste. Można użyćtoStringjedna data obiektu()w celu wyjścia aktualną datę i godzinę, co następuje:

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CurrentDate
 */
@WebServlet("/CurrentDate")
public class CurrentDate extends HttpServlet {
	private static final long serialVersionUID = 1L;
   
	public CurrentDate() {
		super();
	}
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		PrintWriter out = response.getWriter();
  		String title = "显示当前的日期和时间";
		Date date = new Date();
		String docType = "<!DOCTYPE html> \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>");
	}

}

A teraz skompilować powyższy Servlet i utworzyć odpowiedni wpis w pliku web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app>
  <servlet>
    <servlet-name>CurrentDate</servlet-name>
    <servlet-class>com.w3big.test.CurrentDate</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>CurrentDate</servlet-name>
    <url-pattern>/TomcatTest/CurrentDate</url-pattern>
  </servlet-mapping>
</web-app>

Następnie wizyta http: zadzwonić aplet 8080 / TomcatTest / CurrentDate: // localhost. To będzie produkować następujące wyniki:

Odśwież adresu URL http: // localhost: 8080 / TomcatTest / CurrentDate, odświeżyć co kilka sekund różnicy znajdziesz czas wyświetlania.

Porównanie dat

Jak wspomniano powyżej, można korzystać ze wszystkich dostępnych metod Javy w Servlet. Jeśli chcesz porównać dwie daty są następujące metody:

  • Można użyć getTime (), aby uzyskać dwa obiekty, począwszy od 1 stycznia 1970 o północy upłynął czas (w milisekundach), to te dwie wartości.
  • Można zastosować metodę before (), after () i equals (). Od 12 aż do 18, na przykład, new Date (99, 2, 12) .Przed (new Date (99, 2, 18)) zwraca miesiąc prawdziwe.
  • Można użyć metody compareTo (), która jest wyznaczona przez porównywalnym interfejsu według daty zrealizowania.

Zastosowanie SimpleDateFormat do formatowania dat

SimpleDateFormat jest beton klasy w sposób formatowania locale wrażliwe i terminach parsowania. SimpleDateFormat pozwala na wybranie dowolnej daty i czasu formatowania wzorca zdefiniowanego przez użytkownika.

Zmieńmy powyższy przykład, w następujący sposób:

package com.w3big.test;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class CurrentDate
 */
@WebServlet("/CurrentDate")
public class CurrentDate extends HttpServlet {
	private static final long serialVersionUID = 1L;
   
	public CurrentDate() {
		super();
	}
    
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

		response.setContentType("text/html;charset=UTF-8");
		
		PrintWriter out = response.getWriter();
		String title = "显示当前的日期和时间";
		Date dNow = new Date( );
		SimpleDateFormat ft = 
				new SimpleDateFormat ("yyyy.MM.dd  hh:mm:ss E a ");
		String docType = "<!DOCTYPE html> \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>");
	}

}

Skompilować poprzedni Servlet ponownie, a następnie odwiedzić http: zadzwonić aplet 8080 / TomcatTest / CurrentDate: // localhost. To będzie produkować następujące wyniki:


Prosty format daty Kod formatu

Korzystanie z trybu ciąg zdarzeń, aby określić format godziny. W tym trybie, wszystkie litery ASCII są zastrzeżone jako litery wzór, liter i są zdefiniowane w następujący sposób:

charakter opis Przykłady
G wskaźnik Era AD
y Cztery cyfra roku 2001
M Miesiąc roku Albo 07 lipca
d Przez pierwsze kilka dni w miesiącu 10
h AM / PM godzin (1 do 12) 12
H Przez pierwsze kilka godzin w ciągu dnia (od 0 do 23) 22
m Jedna godzina pierwszej frakcji 30
s Jeden punkt w ciągu pierwszych kilku sekund 55
S milisekundę 234
E Tydzień po tygodniu wtorek
D Przez pierwsze kilka dni w roku 360
F Tydzień to tydzień, gdzie w tym miesiącu 2 (drugi śr w lipcu)
w Pierwszych kilka tygodni w roku 40
W Kilka pierwszych tygodni stycznia 1
AM / PM mark PM
k Przez pierwsze kilka godzin w ciągu dnia (od 1 do 24) 24
K Z AM / PM godzinę (od 0 do 11) 10
oo strefa czasu Eastern Standard Time
' Ucieczka do tekstu ogranicznik
" pojedyncze cudzysłowy `

Pełną listę dostępnych metod przetwarzania dat, aby zobaczyć, można zwrócić się do standardowej dokumentacji Java.