SYSDATE 형식의 날짜 값을 이용하여 원하는 패턴형식으로 날짜를 출력한다.
패턴 = $1 : 년, $2: 월, $3: 일, $4: 시, $5: 분, $6: 초
Java Source : Strings.java
package xf.common; /* '// Strings '// programmed by 최석균 '// http://www.cyworld.com/syaku '// http://syaku.tistory.com */ import java.util.regex.*; import java.text.*; public class Strings { public static String getDate(String date,String patten) { // 오늘 날짜 if (date.equals("now") || date.equals("")) { java.util.Date setDate = new java.util.Date(); SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); date = formatter.format(setDate); } String sysdate_patten = "(^[0-9]{4})[-_:.\\/\\s]{0,1}([0-9]{2})[-_:.\\/\\s]{0,1}([0-9]{2})\\s{0,1}([0-9]{0,2})[-_:.\\/\\s]{0,1}([0-9]{0,2})[-_:.\\/\\s]{0,1}([0-9]{0,2})(.*)$"; Pattern date_comp = Pattern.compile(sysdate_patten); if (date_comp.matcher(date).find()) return date.replaceAll(sysdate_patten,patten); else return date; } }
Example Source
<%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%> <%@ page import="xf.common.*" %> <% // 패턴 = $1 : 년, $2: 월, $3: 일, $4: 시, $5: 분, $6: 초 // 오늘 Date 구하기 out.println(Strings.getDate("now","$1년$2월$3일") + "<br />"); // 결과 2008년11월14일 // Date 패턴 변경하기 out.println(Strings.getDate("2008-10-20 20:11:22.000","$1/$2/$3 ($4시:$5분)") + "<br />"); // 결과 2008/10/20 (20시:11분) // Date 년도 구하기 out.println(Strings.getDate("2008-10-20 20:11:22","$1 년도") + "<br />"); // 결과 2008 년도 // Date 시간과분 구하기 out.println(Strings.getDate("20081020201122","$4 시 $5 분 입니다.") + "<br />"); // 결과 20 시 11 분 입니다. %>