Date formatting in VBScript

Cheat sheet
<%= 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

Date Posted: Sunday, April 8, 2007 8:22 PM
Last Updated: Monday, August 5, 2013 6:00 AM
Posted by: Mikesdotnetting
Total Views to date: 115246

5 Comments

Wednesday, August 12, 2009 9:57 AM - sagnik

nice ..............thanks !

Sunday, November 8, 2009 8:35 PM - Chuck

Very nice, indeed..I was almost there; this fixed my brain block!

Tuesday, July 30, 2013 3:28 PM - Dan Walter

DatePart("w", Now) returns the day of the week 1-7, not the week of the month.

Monday, August 5, 2013 6:01 AM - Mike

Thanks for spotting that, Dan.

Tuesday, November 5, 2013 3:43 PM - ucrajee

Nice info. My requirement was to have yyyy-mm-dd. But vbs was giving mm/dd/yyyy. This article helped me in changing the script to: DatePart("yyyy", Now) & "-" & DatePart("m", Now) & "-" & DatePart("d", Now)
Add your comment

If you have any comments to make about this article, please use this form to do so. Make sure that your comment relates specifically to the article above. More general comments can be posted through the form on the Contact page.

Please note, all comments are moderated, and some may not be published. The kind of things that will ensure your comment is deleted without ever seeing the light of day are as follows:

  • Not relevant to the article
  • Gratuitous links to your own site or product
  • Anything abusive or libellous
  • Spam
  • Anything in a language I don't understand including gibberish.

I do not pass email addresses on to spammers, so a valid one will assist me in responding to you personally if required.