English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

JSP 날짜 처리

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

Date 클래스는 두 개의 생성자를 가지고 있습니다. 첫 번째 생성자는 현재 날짜와 시간을 사용하여 객체를 초기화합니다.

Date( )

두 번째 생성자는 다음과 같은 파라미터를 받아들입니다,이 파라미터는1970년1월1凌晨至所要表示时间的毫秒数。

Date(long millisec)

Date 객체를 가져온 후,다음 표에 나열된 모든 메서드를 사용할 수 있습니다:

序号方法 & 설명
                1boolean after(Date date) 如果比给定的日期晚,则返回true,否则返回false
                2boolean before(Date date) 如果比给定的日期早,则返回true,否则返回false
                3Object clone( ) 当前对象的一个副本을 가져옵니다
                4int compareTo(Date date) 如果与给定日期相等,则返回0,如果比给定日期早,则返回一个负数,如果比给定日期晚,则返回一个正数
                5int compareTo(Object obj) compareTo(Date) 메서드와 동일하게, obj가 Date 클래스 또는 그 서브 클래스의 객체가 아니면 ClassCastException 예외를 발생시킵니다
                6boolean equals(Object date) 如果与给定日期相同,则返回true,否则返回false
                7long getTime( ) 返回从1970년1월1凌晨至此对象所表示时间的毫秒数
                8int hashCode( ) 이 객체의 해시 코드를 반환합니다
                9void setTime(long time) 주어진 매개변수로 시간과 날짜를 설정하십시오. 매개변수 time은1970년1월1凌晨至time所经过的毫秒数
                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 2019

새로 고침 http://localhost:8080/testjsp/main.jsp를 통해 각 번호 새로 고침으로 인해 얻은 초 수가 다릅니다.

날짜 비교

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

다음과 같은 방법을 참고하세요:

  •             )을 사용하여 밀리초 수를 얻고 그 밀리초 수를 비교하십시오.

  •             before(), after(), equals() 메서드를 사용하십시오. 예를 들어, new Date(99,2,12).before(new Date(99,2,18))이 반환됩니다。

  •             compareTo() 메서드를 사용하십시오. 이 메서드는 Comparable 인터페이스에서 정의되고 Date에서 구현되었습니다.

    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، 그럼 다음과 같은 결과를 얻을 수 있습니다:

현재 시간과 날짜를 표시합니다.
2019-06-25 17:57:53

SimpleDateFormat 형식 코드

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

문자설명예제
                G                시대 표시자                AD
                y                4자리수 연도                2001
                M                월                July 또는 07
                d                일                10
                h                1224시간제, A.M./P.M. (1~12)                12
                H                2424시간제                22
                m                분                30
                s                초                55
                S                밀리초                234
                E                요일                Tuesday
                D                년 중 특정 날                360
                F                월 중 특정 주의 특정 날                2 (7월 두 번째 수요일)
                w                년 중 특정 주                40
                W                월 중 특정 주                1
                a                A.M./P.M. 표시                PM
                k                하루 중 특정 시간 (1~24)                24
                K                하루 중 특정 시간, A.M./P.M. (0~11)                10
                z                시간대                Eastern Standard Time
                '                텍스트 구분자                구분자
                "                단 quotes                `

Date 클래스에 대한 더 많은 정보는 Java API 문서를 참조하십시오。