JSPの日付処理
JSPを使用しての最も重要な利点の1つは、すべてのJava APIを使用することができるということです。 この章では、詳細にjava.utilパッケージに現在の日付と時刻をカプセル化するJava Dateクラスについて説明します。
Dateクラスは、2つのコンストラクタがあります。 最初のコンストラクタは、オブジェクトを初期化するために、現在の日付と時刻を使用しています。
Date( )
第二のコンストラクタはミリ秒数を表現するために早朝に1970年1月1日から表すパラメータを受け付けます。
Date(long millisec)
Dateオブジェクトを取得した後、次の表に記載されているすべてのメソッドを使用することができます。
いいえ。 | メソッド と 説明 |
---|---|
1 | 後にブール値(日付) 日付より後に指定された場合は、true、そうでない場合はfalseを返します |
2 | 前にブール値(日付) 指定した日付よりも前の場合は、true、そうでない場合はfalseを返します |
3 | オブジェクトのクローン() 現在のオブジェクトのコピーを取得 |
4 | int型のcompareTo(日付) 指定された日付が0に等しい場合、与えられた日がそれより前の場合、後に指定した日付よりも場合、それは、負の数を返す返され、正の数を返します。 |
5 | int型のcompareTo(オブジェクトobj) 同じメソッドのcompareTo(日)、日objはオブジェクトクラスまたはサブクラスは、ClassCastExceptionでない場合 |
6 | ブールのequals(オブジェクト日付) 同じ日付を指定した場合、それは本当、そうでない場合はfalseを返します |
7 | 長いgetTime() このオブジェクトが表すに午前中に1970年1月1日からのミリ秒数を返します |
8 | int型のhashCode() このオブジェクトのハッシュコードを返します。 |
9 | ボイドのsetTime(長時間) 日付と時刻を設定するために与えられたパラメータを使用して、時間パラメータは、経過時間の早い時間に1970年1月1日からのミリ秒数を表し |
10 | 文字列のtoString() このオブジェクトを文字列に変換した文字列を返します。 |
現在の日付と時刻を取得します
ちょうどこのように、ライン上のDateオブジェクトのtoString()メソッドを使用し、簡単に現在の日付と時刻を取得することができJSPプログラミングを使用します。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*, javax.servlet.*" %> <html> <head> <title>显示当前时间与日期</title> </head> <body> <h1>显示当前时间与日期</h1> <% Date date = new Date(); out.print( "<h2 align=\"center\">" +date.toString()+"</h2>"); %> </body> </html>
上記のコードは、main.jspファイルに保存され、その後、HTTPを訪問される:// localhostを:8080 / testjsp / main.jsp、結果は次の通りです。
显示当前时间与日期 Sat Jun 25 17:54:34 CST 2016
// localhostを:のhttpリフレッシュ8080 / testjsp / main.jspを、あなたが取得した各リフレッシュが同じではない秒数を見つけることができます。
日付を比較
私は冒頭で述べたように、あなたは、JSPスクリプトで任意のJavaメソッドを使用することができます。 あなたは二つの日付を比較したい場合は、
これを行うには、次の方法を参照することができます。
- ミリ秒数を取得するために、getTime()メソッドを使用し、その後、ライン上のミリ秒数を比較します。
- ()の前に使用し、()の後、()メソッドに等しいです。 たとえば、新しいDate(99,2,12).before(新しいDate(99,2,18))はtrueを返します。
- 日に実装Comparableインタフェースで定義されているのcompareTo()メソッドを、使用してください。
日付をフォーマットするために使用してSimpleDateFormat
あなたは日付と時間をフォーマットするためにカスタムパターンを使用することができます日付のフォーマットと解析に地域に敏感な方法を使ってSimpleDateFormat。
改訂されたようなコードを与えるためにわずかな変更をCurrentDate.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <%@ page import="javax.servlet.*,java.text.*" %> <html> <head> <title>显示当前时间与日期</title> </head> <body> <h1>显示当前时间与日期</h1> <% Date dNow = new Date( ); SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss"); out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>"); %> </body> </html>
再びmain.jspをコンパイルしてから、http:// localhost:8080にアクセス/ testjsp / main.jsp、次のような結果を得ることができます。
显示当前时间与日期 2016-06-25 17:57:53
SimpleDateFormatの書式コード
パターン文字列を指定するには、次の表に記載されている書式コードを使用する必要があります。
文字 | 説明 | 例 |
---|---|---|
G | タイムズ識別子 | AD |
Y | 4桁の年 | 2001 |
M | 月 | 7月か07 |
D | デイ | 10 |
時間 | 12時間、AM / PM(1〜12) | 12 |
H | 24時間の | 22 |
メートル | 分 | 30 |
の | 2番目 | 55 |
S | ミリ秒 | 234 |
E | 週 | 火曜日 |
D | 通日 | 360 |
F | 週の月の日 | 2(7月第二水曜) |
ワット | 週の年 | 40 |
W | 週の月 | 1 |
A | AM / PMマーク | PM |
K | 一日の特定の時間(1〜24) | 24 |
K | 日時、AM / PM(0〜11) | 10 |
Z | 時間帯 | 東部標準時 |
' | 区切りテキスト | デリミタ |
「 | 単一引用符 | ` |
Dateクラスの詳細については、JavaのAPIドキュメントを参照してください。