> Hello World !!!

     

@syaku

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

728x90
반응형

 

Source

<%@LANGUAGE="VBSCRIPT"%>
 
<% Option Explicit %>
 
<%
'// programmed by 최석균
'// http://www.cyworld.com/syaku
'// http://syaku.tistory.com
 
 '// 날짜 생성 및 패턴 형식으로 변환
 '// getDate(String,Now|String) { return String }
 '// Pattern = $1:년 , $2:월 , $3:일 , $4:시 , $5:분 , $6:초
 '// Value = 2009-01-19 11:01:00 , 20090119110100 , 2009-01-19 오전 11:01:56 , 20090119 , 2009-01-19
 Public Function getDate(Pattern,Value)
    Dim Reg
    Set Reg = New RegExp

    Dim nowdate
    nowdate = "(^[0-9]{4})[-_:.\/\s]([0-9]{2})[-_:.\/\s]([0-9]{2})\s[가-힣]{2}\s([0-9]{0,2})[-_:.\/\s]([0-9]{0,2})[-_:.\/\s]([0-9]{0,2})(.*)$"

    Dim sysdate
    sysdate = "(^[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})(.*)$"
   
    '// 기존 예약어 처리부분
    If Value = "now" Then Value = Now End If
  
    Reg.Global = True
    Reg.Pattern = nowdate

    Dim new_date,new_time,new_second
    If Reg.Test(Value) = True Then
      new_date = Reg.Replace(Value,"$1-$2-$3")
      new_time = Reg.Replace(Value,"$4:$5")
      new_second = Reg.Replace(Value,":$6")
      new_time = FormatDateTime(new_time,4) & new_second
      Value = new_date & " " & new_time
    End If
 
    Reg.Pattern = sysdate
    getDate = Reg.Replace(Value,Pattern)
    Set Reg = Nothing
 End Function
 
'// $1 = 년 , $2 = 월 , $3 = 일 , $4 = 시 , $5 = 분 , $6 = 초

 
'// 오늘의 날짜 구하기
'// Value = Now
response.write getDate("$1-$2-$3",Now) & "<br>"

'// 날짜 구하기
'// Value =  2008-03-26
response.write getDate("$1/$2/$3","2008-03-26") & "<br>"
 
'// SYSDATE 구하기
'// Value =  Now
response.write getDate("$1-$2-$3 $4:$5:$6",Now) & "<br>"
%>

Example. 새 글 표시법

<%
'// 패턴 날짜를 이용한 새글 표시
Dim board_date,new_icon
 
board_date = "20080527012233"
 
new_icon = getDate("$1-$2-$3 $4:$5:$6",board_date)
 
' 24시간 지나지 않은 경우
If DateDiff("h",new_icon,Now()) < 24 Then
  new_icon = "New"
Else
  new_icon = ""
End If
%>

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


728x90
반응형