> Hello World !!!

     

@syaku

원하는 패턴의 날짜 구하기 : JAVA

 

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 분 입니다.
%>

written by Seok Kyun. Choi. 최석균.
http://www.cyworld.com/syaku
http://syaku.tistory.com