JSP 날짜 처리
JSP를 사용하는 가장 중요한 장점 중 하나는 모든 Java API를 사용할 수 있다는 것입니다. 이 장에서는 java.util 패키지 아래에 현재 날짜와 시간을 캡슐화하는 Java의 Date 클래스에 대해 자세히 설명합니다.
Date 클래스에는 두 개의 생성자가 있습니다. 첫 번째 생성자는 현재 날짜와 시간으로 개체를 초기화합니다.
Date( )
두 번째 생성자는 1970년 1월 1일 이른 아침부터 표시할 시간까지의 밀리초 수를 나타내는 매개 변수를 받습니다.
Date(long millisec)
Date 개체를 얻은 후 다음 표에 나열된 모든 방법을 사용할 수 있습니다.
일련 번호 | 방법 & 설명 |
---|---|
1 | 부울 after(날짜 날짜) |
2 | 부울 before(날짜 날짜) |
3 | 객체 복제( ) |
4 | int CompareTo(날짜 날짜) |
5 | int CompareTo(Object obj) |
6 | 부울 같음(개체 날짜) |
7 | long getTime( ) |
8 | int hashCode( ) |
9 | void setTime(긴 시간) |
시간까지 경과된 밀리초 수를 나타냅니다. 10 | String 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 설명서를 참조하세요.