When you think ASP, think...
Recent Articles
All Articles
ASP.NET Articles
Related Web Technologies
User Tips!
Coding Tips

Sample Chapters
JavaScript Tutorials
MSDN Communities Hub
Official Docs
Stump the SQL Guru!
XML Info
Author an Article
Print this page.
Published: Tuesday, November 03, 1998

WebDaily: Your daily source for Web Technology Tips and Tricks!

Using ASP / VBScript's Date Functions

* This article discusses the VBScript Date functions

VBScript provides a vast number of powerful date functions. Using these date functions, one has at his or her fingertips an incredible tool for date manipulation. Let's say that your company ends its pay periods on the 15th and the last day of the month. To find the number of days between the current date and the next end of the pay period, you could use these lines of code:

Dim DaysUntilNextPaycheck, PayDay

if Day(Now) < 15 then
PayDay = DateSerial(Year(Now),Month(Now),15)
elseif Day(Now) < Day(DateSerial(Year(Now),Month(Now)+1,1-1))
PayDay = DateSerial(Year(Now),Month(Now)+1,1-1)

PayDay = DateSerial(Year(Now),Month(Now)+1,15)
end if

DaysUntilNextPaycheck = DateDiff("d",Now,PayDay)

This code utilizes several date functions inherent in VBScript, namely Now, Day, Month, Year, DateSerial, and DateDiff.

Day, Month, and Year are fairly straightforward, they simply return the respective date part of the date value passed in. For example, Day(#10/3/98#) would return 3.

The Now function gets the system's current date and time. (The function Date simply returns the current date.)

DateSerial is a really neat and powerful function when used correctly. DateSerial is used to create a date when given a year, month, and day. For example:

MyDate = DateSerial(1998,5,2)

would set MyDate equal to "5/2/1998". You can use numeric expressions instead of absolute date numbers with DateSerial, thereby greatly extending the power of DateSerial. For example, you could set MyDate equal to the last day in February by using the following code:

MyDate = DateSerial(1999-1,5-2,1-1)

This sets MyDate equal to the day before the first day (1 - 1) of two months before May (5 - 2) of 1 year before 1999 (1999 - 1). In other words, it sets MyDate equal to Feb. 28, 1998.

DateDiff returns the difference in intervals between two dates. The interval can be one of the following settings:

	"yyyy"		Year
	"q"		Quarter
	"m"		Month
	"y"		Day of Year
	"d"		Day
	"w"		Weekday
	"ww"		Week of Year
	"h"		Hour
	"n"		Minute
	"s"		Second

So, DateDiff("d",#10/5/98#,#10/8/98#) would return 3, since there are three days between 10/8/98 and 10/5/98.

Let's look at one more example of DateDiff:


would return the number of weeks between the current date and SomeOther, future date.

Another important Date function is DateAdd. It takes the form of:

DateAdd(interval, number, date)

The intervals are the same as in DateDiff. So, if you wanted to get the date two days after today, you could do so using:


You can also use negative values in the number to return a date prior to the date passed in.

Happy Programming!

To subscribe to WebDaily, point your browser to:

Please forward this information to a friend, including the subscription URL! Happy Programming!

ASP.NET [1.x] [2.0] | ASPFAQs.com | Advertise | Feedback | Author an Article