Latest web development tutorials

Servlet Tanggal Pengolahan

Salah satu keuntungan yang paling penting dari menggunakan Servlet yang dapat digunakan di sebagian besar inti metode Java yang tersedia. Bab ini akan menjelaskan paketjava.util yang disediakan oleh kelas TanggalJava yang merangkum tanggal dan waktu.

Tanggal kelas mendukung dua konstruktor. Konstruktor pertama untuk menginisialisasi objek tanggal dan waktu.

Date( )

Constructor berikut menerima parameter yang sama dengan jumlah milidetik berlalu sejak 1 Januari 1970 di tengah malam.

Date(long millisec)

Setelah Anda memiliki Tanggal objek yang tersedia, Anda dapat menghubungi salah satu cara berikut untuk menggunakan dukungan Tanggal:

序号方法 & 描述
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 对象为一个字符串,并返回结果。

Mendapatkan tanggal dan waktu

Mendapatkan tanggal dan waktu di Servlet Java sangat mudah. Anda dapat menggunakantoStringsatu Tanggal objek()metode untuk output tanggal dan waktu sebagai berikut:

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

}

Sekarang, mari kita mengkompilasi Servlet atas, dan membuat entri yang sesuai di file 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>

Kemudian kunjungi http: untuk memanggil Servlet 8080 / TomcatTest / currentDate: // localhost. Ini akan menghasilkan hasil sebagai berikut:

Cobalah untuk me-refresh URL http: // localhost: 8080 / TomcatTest / currentDate, menyegarkan setiap beberapa detik perbedaan Anda akan menemukan waktu tampilan.

bandingkan tanggal

Seperti disebutkan di atas, Anda dapat menggunakan semua metode Jawa tersedia di Servlet. Jika Anda perlu membandingkan dua tanggal yang metode berikut:

  • Anda dapat menggunakan getTime () untuk mendapatkan dua benda, sejak 1 Januari 1970 tengah malam waktu berlalu (dalam milidetik), kemudian dua nilai-nilai ini.
  • Anda dapat menggunakan metode sebelumnya (), setelah () dan equals (). Sejak tanggal 12 sampai tanggal 18, misalnya, Tanggal baru (99, 2, 12) .before (Tanggal baru (99, 2, 18)) mengembalikan bulan yang benar.
  • Anda dapat menggunakan metode compareTo (), yang didefinisikan oleh antarmuka Sebanding dengan Tanggal menyadari.

Penggunaan SimpleDateFormat untuk tanggal Format

SimpleDateFormat adalah kelas beton dengan cara format lokal-sensitif dan tanggal parsing. SimpleDateFormat memungkinkan Anda untuk memilih tanggal dan waktu pola format yang ditetapkan pengguna.

Mari kita memodifikasi contoh di atas, sebagai berikut:

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

}

Mengkompilasi Servlet sebelumnya lagi, dan kemudian mengunjungi http: untuk memanggil Servlet 8080 / TomcatTest / currentDate: // localhost. Ini akan menghasilkan hasil sebagai berikut:


Tanggal sederhana Format kode Format

Menggunakan modus acara string untuk menentukan format waktu. Dalam mode ini, semua huruf ASCII disimpan sebagai huruf pola, dan surat-surat didefinisikan sebagai berikut:

karakter deskripsi contoh
G indikator era AD
y Empat digit tahun 2001
M Bulan tahun Atau 7 Juli
d Beberapa hari pertama bulan 10
h AM / PM, jam (1 sampai 12) dengan 12
H Beberapa jam pertama hari (0-23) 22
m Satu jam dari fraksi pertama 30
s Satu titik dalam beberapa detik pertama 55
S milidetik 234
E Minggu minggu Selasa
D Beberapa hari pertama tahun ini 360
F Minggu ini minggu di mana bulan ini 2 (kedua Wed. pada bulan Juli)
w Beberapa minggu pertama tahun ini 40
W Beberapa minggu pertama Januari 1
sebuah AM / mark PM PM
k Beberapa jam pertama hari (1 sampai 24) 24
K Dengan AM / PM jam (0-11) 10
z wilayah waktu Waktu Standar Timur
' Melarikan diri untuk teks pembatas
" tanda petik tunggal `

Untuk daftar lengkap dari metode tanggal pemrosesan yang tersedia untuk melihat, Anda dapat lihat dokumentasi Java standar.