JSP日付処理
JSP を使用する最も重要な利点の 1 つは、すべての Java API を使用できることです。この章では、現在の日付と時刻を java.util パッケージにカプセル化する Java の Date クラスについて詳しく説明します。
Date クラスには 2 つのコンストラクターがあります。最初のコンストラクターは、現在の日付と時刻を使用してオブジェクトを初期化します。
Date( )
2 番目のコンストラクターは、1970 年 1 月 1 日の早朝から表現される時刻までのミリ秒数を表すパラメーターを受け取ります。
rreeedate dateオブジェクトを取得すると、次の表にリストされているすべてのメソッドを使用できます。 1指定された日付より後の場合は true を返し、それ以外の場合は false を返します | 2ブール値前(日付日付) |
---|---|
3 オブジェクトクローン( ) | |
4 int CompareTo(日付 date) | |
5 int CompareTo(オブジェクトobj) | |
6 ブール値に等しい(オブジェクトの日付) | |
7 long getTime( ) | |
8 int hashCode( ) | |
9 void setTime(長時間) | |
までの経過時間をミリ秒単位で表します。
10 文字列 toString( ) |
現在の日付と時刻を取得します
JSP プログラミングを使用して、次のように Date オブジェクトの toString() メソッドを使用するだけで、現在の日付と時刻を簡単に取得できます:
Date(long millisec)
上記のコードを main.jsp ファイルに保存します。にアクセスし、http://localhost:8080/testjsp/main.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>
refreshhttp://localhost:8080/testjsp/main.jsp を見つけることができます。リフレッシュごとに取得される秒数はすべて異なります。
日付の比較
最初に述べたように、JSP スクリプトでは任意の Java メソッドを使用できます。 2 つの日付を比較したい場合は、
以下の方法に従ってください:
getTime() メソッドを使用してミリ秒数を取得し、ミリ秒数を比較します。
before()、after()、equals() メソッドを使用します。たとえば、new Date(99,2,12).before(new Date(99,2,18)) は true を返します。
CompareTo() メソッドを使用します。このメソッドは Comparable インターフェイスで定義され、Date で実装されます。
SimpleDateFormat を使用して日付を書式設定する
SimpleDateFormat はロケールに依存した方法で日付を書式設定および解析するため、カスタム パターンを使用して日付と時刻を書式設定できます。
CurrentDate.jsp を少し変更して、次の変更されたコードを取得します:
显示当前时间与日期 Sat Jun 25 17:54:34 CST 2016
main.jsp を再度コンパイルし、http://localhost:8080/testjsp/main.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>
SimpleDateFormat フォーマット コード
パターン文字列を指定するには、次の表にリストされているフォーマット コードを使用する必要があります:
キャラクター | 説明 | 例 |
---|---|---|
G | 元号識別子 | AD |
y | 4 桁の年 | 2001 |
ま | 月 | 7月または07 |
d | 日 | 10 |
h | 12 時間形式、午前/午後 (1~12) | 12 |
H | 24 時間時計 | 22 |
m | 分 | 30 |
s | 秒 | 55 |
S | ミリ秒 | 234 |
E | 日曜日 | 火曜日 |
D | 一年のある日 | 360 |
F | 月の特定の曜日 | 2日(7月第2水曜日) |
w | 一年のある週 | 40 |
月の特定の週 | 1 | |
あ | 午前/午後マーク | 午後 |
k | 一日の 1 時間 (1~24) | 24 |
K | 1 日のうちの 1 時間、午前/午後 (0~11) | 10 |
z | タイムゾーン | 東部標準時 |
' | テキストの分離 | 区切り文字 |
「 | 一重引用符 | ` |
Date クラスの詳細については、Java API ドキュメントを参照してください。