Date formatting in VBScript

A cheat sheet for people who want to format dates using VBScript

<%= Date()%> 08/04/2007
<%=Now()%> 08/04/2007 20:20:15
<%=Time()%> 20:20:15
<%=FormatDateTime(Now(),vbGeneralDate)%> 08/04/2007 20:20:15
<%=FormatDateTime(Now(),vbLongDate)%> 08 April 2007
<%=FormatDateTime(Now(),vbShortDate)%> 08/04/2007
<%=FormatDateTime(Now(),vbLongTime)%> 20:20:15
<%=FormatDateTime(Now(),vbShortTime)%> 20:20
<%=Year(Now())%> 2007
<%=Month(Now())%> 4
<%=Day(Now())%> 8
<%=Hour(Now())%> 20
<%=Minute(Now())%> 20
<%=Second(Now())%> 15
<%=WeekDay(Now())%> 1
<%=WeekDayName(WeekDay(Now()))%> Sunday
<%=WeekDayName(WeekDay(Now()),1)%> Sun
<%=MonthName(Month(Now()))%> April
<%=MonthName(Month(Now()),1)%> Apr
   
DatePart("d", Now) 8 (Day of Month)
DatePart("w", Now) 1 (Day Of Week)
DatePart("m", Now) 4 (Month of Year)
DatePart("ww", Now) 15 (Week of Year)
DatePart("y", Now) 98 (Day of Year)
DatePart("yyyy", Now) 2007 (Year)
DatePart("q", Now) 2 (Quarter)
DatePart("h", Now) 20 (Hour)
DatePart("n", Now) 20 (Minute)
DatePart("s", Now) 15 (Second)

 

vbUseSystem

0

Uses the National Language Support API to determine the first full week based on the regional and language settings.

vbFirstJan1

1

Sets the first week as the week in which January 1 occurs. (Default)

vbFirstFourDays

2

Sets the first week as the first week to have at least four days in it.

VbFirstFullWeek

3

Sets the first week as the first week that begins on a Sunday.

 

DatePart("ww", Now, vbUseSystem) 14
DatePart("ww", Now, vbFirstJan1) 15
DatePart("ww", Now, vbFirstFourDays) 14
DatePart("ww", Now, VbFirstFullWeek) 15

Use of concatentation to customise date display:

<%
Response.Write WeekDayName(WeekDay(Now())) & _
", " & MonthName(Month(Now())) & _
" " & Day(Now()) & ", " & Year(Now()) 
%>

gives

Sunday, April 8, 2007

To write out the ordinal suffix for the day:

<%
Select Case Day(Now())
Case 1,21,31
ordsuffix = "st"
Case 2,22
ordsuffix = "nd"
Case 3,23
ordsuffix = "rd"
Case else
ordsuffix = "th"
End select
Response.Write (WeekDayName(WeekDay(Now())))
Response.Write (", ")
Response.Write (MonthName(Month(Now())))
Response.Write (" ")
Response.Write (Day(Now())
Response.Write (ordsuffix)
Response.Write (" ")
Response.Write (Year(Now())
%>

Sunday, April 8th 2007