JSP 사용의 가장 중요한 장점 중 하나는 모든 Java API를 사용할 수 있다는 것입니다. 이 장에서는 java.util 패키지 아래에 현재 날짜와 시간을 캡슐화하는 Java의 Date 클래스에 대해 자세히 설명합니다.
Date 클래스에는 두 개의 생성자가 있습니다. 첫 번째 생성자는 현재 날짜와 시간으로 개체를 초기화합니다.
날짜( )두 번째 생성자는 1970년 1월 1일 이른 아침부터 표시할 시간까지의 밀리초 수를 나타내는 매개 변수를 허용합니다.
날짜(긴 밀리초)Date 개체를 얻은 후에는 다음 표에 나열된 모든 메서드를 사용할 수 있습니다.
일련번호 | 방법 및 설명 |
---|---|
1 | boolean after(Date date)는 주어진 날짜보다 이후이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
2 | boolean before(Date date)는 주어진 날짜보다 이전이면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
3 | 객체 clone()은 현재 객체의 복사본을 얻습니다. |
4 | int CompareTo(Date date)는 주어진 날짜와 같으면 0을 반환하고, 주어진 날짜보다 빠르면 음수를, 주어진 날짜보다 늦으면 양수를 반환합니다. |
5 | int CompareTo(Object obj)는 CompareTo(Date)와 동일합니다. obj가 Date 클래스 또는 해당 하위 클래스의 객체가 아닌 경우 ClassCastException이 발생합니다. |
6 | boolean equals(Object date)는 주어진 날짜와 같으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
7 | long getTime()은 1970년 1월 1일 이른 아침부터 이 객체가 나타내는 시간까지의 밀리초 수를 반환합니다. |
8 | int hashCode()는 이 객체의 해시 코드를 반환합니다. |
9 | void setTime(long time)은 주어진 매개변수를 사용하여 시간과 날짜를 설정합니다. 매개변수 time은 1970년 1월 1일 이른 아침부터 시간까지 경과된 밀리초 수를 나타냅니다. |
10 | String toString()은 이 객체를 문자열로 변환하고 이 문자열을 반환합니다. |
JSP 프로그래밍을 사용하면 현재 날짜와 시간을 쉽게 얻을 수 있습니다. 다음과 같이 Date 객체의 toString() 메서드를 사용하면 됩니다.
<%@ page import="java.io.*,java.util.*, javax.servlet.*" %><html><head><title>현재 날짜 및 시간 표시</title></head>< body><center><h1>현재 날짜 및 시간 표시</h1></center><% Date date = new Date() out.print( "<h2 align="center">" +date.toString()+"</h2>");%></body></html>위 코드를 CurrentDate.jsp 파일에 저장한 후 http://localhost:8080/CurrentDate.jsp를 방문하면 실행 결과는 다음과 같습니다.
현재 날짜 및 시간 표시Mon Jun 21 21:46:49 GMT+04:00 2013http://localhost:8080/CurrentDate.jsp를 새로 고치면 새로 고칠 때마다 얻은 시간(초)이 다르다는 것을 알 수 있습니다.
처음에 언급했듯이 JSP 스크립트에서는 모든 Java 메소드를 사용할 수 있습니다. 두 날짜를 비교하고 싶다면,
이를 수행하려면 다음 방법을 참조할 수 있습니다.
getTime() 메서드를 사용하여 밀리초 수를 가져온 다음 밀리초 수를 비교합니다.
before(), after(), equals() 메서드를 사용하세요. 예를 들어 new Date(99,2,12).before(new Date(99,2,18))는 true를 반환합니다.
Comparable 인터페이스에 정의되고 Date에 구현된 CompareTo() 메서드를 사용하세요.
SimpleDateFormat은 로캘 구분 방식을 사용하여 날짜 형식을 지정하고 구문 분석하므로 사용자 지정 패턴을 사용하여 날짜와 시간 형식을 지정할 수 있습니다.
CurrentDate.jsp를 약간 수정하여 다음과 같은 수정된 코드를 얻습니다.
<%@ page import="java.io.*,java.util.*" %><%@ page import="javax.servlet.*,java.text.*" %><html><head><제목 >현재 날짜 및 시간 표시</title></head><body><center><h1>현재 날짜 및 시간 표시</h1></center><% Date dNow = new Date( ) ft = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz"); out.print( "<h2 align="center">" + ft.format(dNow) + "</h2>"); %></body></html>
CurrentDate.jsp를 다시 컴파일한 후 http://localhost:8080/CurrentDate.jsp를 방문하면 다음과 같은 결과를 얻을 수 있습니다.
현재 날짜 및 시간 표시Mon 2013.06.21 at 10:06:44 PM GMT+04:00패턴 문자열을 지정하려면 다음 표에 나열된 형식 코드를 사용하십시오.
성격 | 설명하다 | 예 |
---|---|---|
G | 시대 식별자 | 광고 |
와이 | 4자리 연도 | 2001년 |
중 | 달 | 7월 또는 07 |
디 | 낮 | 10 |
시간 | 12시간제, AM/PM(1~12) | 12 |
시간 | 24시간제 | 스물 둘 |
중 | 분 | 30 |
에스 | 두번째 | 55 |
에스 | 밀리초 | 234 |
이자형 | 주 | 화요일 |
디 | 올해의 날 | 360 |
에프 | 한 달의 요일 | 2(7월 둘째 수요일) |
승 | 올해의 주 | 40 |
여 | 매월 특정 주 | 1 |
에이 | 오전/오후 표시 | 오후 |
케이 | 하루 중 한 시간(1~24) | 스물넷 |
케이 | 시간, 오전/오후(0~11) | 10 |
지 | 시간대 | 동부 표준시 |
' | 텍스트 구분 기호 | 구분 기호 |
" | 작은따옴표 | ` |
Date 클래스에 대한 자세한 내용은 Java API 설명서를 참조하세요.