JSP日付処理


JSP を使用する最も重要な利点の 1 つは、すべての Java API を使用できることです。この章では、現在の日付と時刻を java.util パッケージにカプセル化する Java の Date クラスについて詳しく説明します。

Date クラスには 2 つのコンストラクターがあります。最初のコンストラクターは、現在の日付と時刻を使用してオブジェクトを初期化します。

Date( )

2 番目のコンストラクターは、1970 年 1 月 1 日の早朝から表現される時刻までのミリ秒数を表すパラメーターを受け取ります。

rreeedate dateオブジェクトを取得すると、次の表にリストされているすべてのメソッドを使用できます。 1

後ブール値(日付日付) 指定された日付より前の場合は true を返し、それ以外の場合は false を返します 現在のオブジェクトのコピーを取得します 指定された日付と等しい場合は 0 を返し、指定された日付より前の場合は負の数を返し、指定された日付より後の場合は正の数を返します CompareTo(Date) メソッドと同様に、obj が Date クラスまたはそのサブクラスのオブジェクトでない場合は ClassCastException がスローされます 指定された日付と同じ場合は true を返し、それ以外の場合は false を返します 1970 年 1 月 1 日の早朝からこのオブジェクトで表される時刻までのミリ秒数を返します このオブジェクトのハッシュ コードを返します 指定されたパラメーターを使用して時刻と日付を設定します。パラメーター time は、1970 年 1 月 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 ドキュメントを参照してください。