JSP 날짜 처리


JSP를 사용하는 가장 중요한 장점 중 하나는 모든 Java API를 사용할 수 있다는 것입니다. 이 장에서는 java.util 패키지 아래에 현재 날짜와 시간을 캡슐화하는 Java의 Date 클래스에 대해 자세히 설명합니다.

Date 클래스에는 두 개의 생성자가 있습니다. 첫 번째 생성자는 현재 날짜와 시간으로 개체를 초기화합니다.

Date( )

두 번째 생성자는 1970년 1월 1일 이른 아침부터 표시할 시간까지의 밀리초 수를 나타내는 매개 변수를 받습니다.

Date(long millisec)

Date 개체를 얻은 후 다음 표에 나열된 모든 방법을 사용할 수 있습니다.

일련 번호방법 & 설명
1부울 after(날짜 날짜)


주어진 날짜보다 이후이면 true를 반환하고, 그렇지 않으면 false를 반환
2부울 before(날짜 날짜)


주어진 날짜보다 이전이면 true를 반환하고, 그렇지 않으면 false를 반환합니다
3객체 복제( )


현재 개체의 복사본 가져오기
4int CompareTo(날짜 날짜)


지정한 날짜와 같으면 0, 지정한 날짜보다 빠르면 음수, 지정한 날짜보다 늦으면 양수를 반환합니다
5int CompareTo(Object obj)


CompareTo(Date) 메서드와 동일합니다. obj가 Date 클래스 또는 해당 하위 클래스의 객체가 아닌 경우 ClassCastException이 발생합니다.
6부울 같음(개체 날짜)


주어진 날짜와 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다
7long getTime( )


1970년 1월 1일 이른 아침부터 이 객체가 나타내는 시간까지의 밀리초 수를 반환합니다.
8int hashCode( )


이 객체의 해시 코드를 반환합니다
9void setTime(긴 시간)


주어진 매개변수를 사용하여 시간과 날짜를 설정합니다. time 매개변수는 1970년 1월 1일 이른 아침부터
시간까지 경과된 밀리초 수를 나타냅니다. 10String toString( )


이 객체를 문자열로 변환하고 이 문자열을 반환합니다

현재 날짜 및 시간 가져오기

JSP 프로그래밍을 사용하면 다음과 같이 Date 객체의 toString() 메서드를 사용하면 됩니다.

<%@ 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

Refresh. http:/ /localhost:8080/testjsp/main.jsp, 새로 고칠 때마다 얻은 시간(초)이 다르다는 것을 알 수 있습니다.


날짜 비교

처음에 언급했듯이 JSP 스크립트에서는 모든 Java 메소드를 사용할 수 있습니다. 두 날짜를 비교하려면

다음과 같이 하면 됩니다.

  •                       getTime() 메서드를 사용하여 밀리초 수를 가져온 다음 밀리초 수를 비교합니다.

  • before(), after(), equals() 메서드를 사용하세요. 예를 들어 new Date(99,2,12).before(new Date(99,2,18))는 true를 반환합니다.

  • Comparable 인터페이스에 정의되고 Date에 구현된 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 형식 코드

패턴 문자열을 지정하려면 다음 표에 나열된 형식 코드를 사용해야 합니다.

캐릭터설명
                시대 식별자                 광고
                   y               연도 4자리 2001
              월 7월 또는 07
                      d               日                 10
                  ㅇ               12시간 형식, A.M./P.M.(1~12)                   12
                  ㅋㅋㅋ               24시간제                 22
                  m               분                       30
                  s               초 55
                  ㅇ                 밀리초               234
                  이자                 요일 화요일
                ㄷ               연중일                    360
                  ㅇ               한 달의 특정 요일               2(7월 둘째 수요일)
                ㅇ               연중 특정 주                 40
                  ㅇ               매월 특정 주                 1
                  ㅇ               A.M./P.M. 표시                 PM
                ㅋ               하루 중 한 시간(1~24)                   24
                  ㅋ               하루 중 한 시간, A.M./P.M.(0~11)                 10
                  z               시간대                 동부 표준시
' 텍스트 분리                 구분자
"                 작은따옴표                 `

Date 클래스에 대한 자세한 내용은 Java API 설명서를 참조하세요.