JSP-처리 날짜
이 장에서는 JSP에서 데이터를 처리하는 방법에 대해 설명합니다. JSP 사용의 가장 중요한 장점 중 하나는 핵심 Java에서 사용 가능한 모든 메소드를 사용할 수 있다는 것입니다. 우리는Date 사용할 수있는 클래스 java.util꾸러미; 이 클래스는 현재 날짜와 시간을 캡슐화합니다.
Date 클래스는 두 개의 생성자를 지원합니다. 첫 번째 생성자는 현재 날짜 및 시간으로 개체를 초기화합니다.
Date( )
다음 생성자는 1970 년 1 월 1 일 자정 이후 경과 된 밀리 초 수와 동일한 인수 하나를받습니다.
Date(long millisec)
Date 객체를 사용할 수 있으면 다음 지원 메서드를 호출하여 날짜를 재생할 수 있습니다.
S. 아니. | 방법 및 설명 |
---|---|
1 | boolean after(Date date) 호출하는 Date 객체에 date로 지정된 날짜보다 이후의 날짜가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
2 | boolean before(Date date) 호출하는 Date 객체에 date로 지정된 날짜보다 이전 날짜가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
삼 | Object clone( ) 호출하는 Date 개체를 복제합니다. |
4 | int compareTo(Date date) 호출하는 객체의 값을 날짜의 값과 비교합니다. 값이 같으면 0을 반환합니다. 호출 객체가 날짜보다 이전이면 음수 값을 반환합니다. 호출하는 객체가 날짜 이후 인 경우 양수 값을 반환합니다. |
5 | int compareTo(Object obj) obj가 Date 클래스 인 경우 compareTo (Date)와 동일하게 작동합니다. 그렇지 않으면 ClassCastException이 발생합니다. |
6 | boolean equals(Object date) 호출하는 Date 객체에 date로 지정된 것과 동일한 시간 및 날짜가 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다. |
7 | long getTime( ) 1970 년 1 월 1 일 이후 경과 된 밀리 초 수를 반환합니다. |
8 | int hashCode( ) 호출하는 객체의 해시 코드를 반환합니다. |
9 | void setTime(long time) 1970 년 1 월 1 일 자정부터 경과 된 시간 (밀리 초)을 나타내는 시간으로 지정된 시간과 날짜를 설정합니다. |
10 | String toString( ) 호출하는 Date 객체를 문자열로 변환하고 결과를 반환합니다. |
현재 날짜 및 시간 가져 오기
JSP 프로그램을 사용하면 현재 날짜와 시간을 쉽게 알 수 있습니다. 간단한 Date 객체를toString() 다음과 같이 현재 날짜와 시간을 인쇄하는 방법-
<%@ page import = "java.io.*,java.util.*, javax.servlet.*" %>
<html>
<head>
<title>Display Current Date & Time</title>
</head>
<body>
<center>
<h1>Display Current Date & Time</h1>
</center>
<%
Date date = new Date();
out.print( "<h2 align = \"center\">" +date.toString()+"</h2>");
%>
</body>
</html>
이제 코드를 유지하겠습니다. CurrentDate.jsp 그런 다음 URL을 사용하여이 JSP를 호출합니다. http://localhost:8080/CurrentDate.jsp. 다음 결과를 받게됩니다-
Display Current Date & Time
Mon Jun 21 21:46:49 GMT+04:00 2010
페이지를 새로 고침 URL http://localhost:8080/CurrentDate.jsp. 새로 고침 할 때마다 초 단위의 차이를 찾을 수 있습니다.
날짜 비교
이전 섹션에서 설명한 것처럼 JSP 스크립트에서 사용 가능한 모든 Java 메소드를 사용할 수 있습니다. 두 날짜를 비교해야하는 경우 다음 방법을 고려하십시오.
당신이 사용할 수있는 getTime( ) 두 개체에 대해 1970 년 1 월 1 일 자정 이후 경과 된 밀리 초 수를 얻은 다음이 두 값을 비교하는 메서드입니다.
방법을 사용할 수 있습니다. before( ), after( ), 및 equals( )그 달의 12 일이 18 일 이전이기 때문입니다. 예를 들면new Date(99, 2, 12).before(new Date (99, 2, 18)) true를 반환합니다.
당신은 사용할 수 있습니다 compareTo( )방법; 이 방법은Comparable interface Date에 의해 구현됩니다.
SimpleDateFormat을 사용한 날짜 형식
SimpleDateFormat은 로케일 구분 방식으로 날짜를 형식화하고 구문 분석하기위한 구체적인 클래스입니다. SimpleDateFormat을 사용하면 날짜-시간 형식화에 대한 사용자 정의 패턴을 선택하여 시작할 수 있습니다.
위의 예를 다음과 같이 수정하겠습니다.
<%@ page import = "java.io.*,java.util.*" %>
<%@ page import = "javax.servlet.*,java.text.*" %>
<html>
<head>
<title>Display Current Date & Time</title>
</head>
<body>
<center>
<h1>Display Current Date & Time</h1>
</center>
<%
Date dNow = new Date( );
SimpleDateFormat ft =
new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
out.print( "<h2 align=\"center\">" + ft.format(dNow) + "</h2>");
%>
</body>
</html>
위의 서블릿을 다시 한 번 컴파일 한 다음 URL을 사용하여이 서블릿을 호출합니다. http://localhost:8080/CurrentDate. 다음 결과를 받게됩니다-
Display Current Date & Time
Mon 2010.06.21 at 10:06:44 PM GMT+04:00
간단한 DateFormat 형식 코드
시간 형식을 지정하려면 시간 패턴 문자열을 사용하십시오. 이 패턴에서 모든 ASCII 문자는 패턴 문자로 예약되어 있으며 다음과 같이 정의됩니다.
캐릭터 | 기술 | 예 |
---|---|---|
지 | 시대 지정자 | 기원 후 |
와이 | 4 자리 연도 | 2001 년 |
미디엄 | 년의 달 | 7 월 또는 07 |
디 | 월의 일 | 0 |
h | 오전 / 오후 시간 (1 ~ 12) | 2 |
H | 하루 중 시간 (0 ~ 23) | 22 |
미디엄 | 분 | 30 |
에스 | 분에 초 | 55 |
에스 | 밀리 초 | 234 |
이자형 | 요일 | 화요일 |
디 | 연중 일 | 360 |
에프 | 매월 요일 | 2 (7 월 둘째 수요일) |
w | 연중 주 | 40 |
W | 한 달의 주 | |
ㅏ | 오전 / 오후 마커 | 오후 |
케이 | 하루 중 시간 (1 ~ 24) | 24 |
케이 | 오전 / 오후 시간 (0 ~ 11) | 0 |
지 | 시간대 | 동부 표준시 |
' | 텍스트를 보려면 이스케이프 | 구분자 |
" | 작은 따옴표 | ` |
날짜를 조작하는 데 사용할 수있는 상수 메소드의 전체 목록은 표준 Java 문서를 참조하십시오.