2013-06-24 2 views
-3

6/24/2013과 같은 날짜가 있습니다. VBL 스크립트에서 6 월 24 일과 같은 달 이름과 날짜 만 출력하고 싶습니다.날짜를 VB 스크립트의 문자열로 변환

+0

cstr (date())을 사용했지만 그 반환 날짜는 6/24/2013 – Venaikat

+1

VBScript 또는 VB.net에 대한 질문입니까? 그들은 다른 언어입니다. 또한 날짜를 문자열로 사용하거나 날짜 값으로 사용합니까? –

+0

이 코드 MonthName (Month (Now())을 사용하여 시도 했으므로 날짜가 하드 코딩이므로 24 개월이되었습니다 – Venaikat

답변

3

를 사용하여 두 개의 (하위) 문제를 해결하는 두 가지 기능 - 달의 이름, 번호 순서 - 별도 :

Option Explicit 

Dim n 
For n = -2 To 10 
    WScript.Echo fmtDate(DateAdd("d", n, Date)) 
Next 

Function fmtDate(dtX) 
    fmtDate = MonthName(Month(dtX)) & " " & ordinal(Day(dtX)) 
End Function 

' !! http://stackoverflow.com/a/4011232/603855 
Function ordinal(n) 
    Select Case n Mod 10 
    case 1 : ordinal = "st" 
    case 2 : ordinal = "nd" 
    case 3 : ordinal = "rd" 
    case Else : ordinal = "th" 
    End Select 
    ordinal = n & ordinal 
End Function 

출력 :

June 22nd 
June 23rd 
June 24th 
June 25th 
June 26th 
June 27th 
June 28th 
June 29th 
June 30th 
July 1st 
July 2nd 
July 3rd 
July 4th 

업데이트 :

(희망 사항) 향상된 서수() :

Function ordinal(n) 
    Select Case n Mod 31 
    case 1, 21, 31 : ordinal = "st" 
    case 2, 22  : ordinal = "nd" 
    case 3, 23  : ordinal = "rd" 
    case Else  : ordinal = "th" 
    End Select 
    ordinal = n & ordinal 
End Function