VBScript Date/Time Functions
last modified April 4, 2025
VBScript provides a comprehensive set of functions for working with dates and times. These functions allow you to retrieve, manipulate, and format date/time values. Understanding these functions is essential for tasks like logging, scheduling, and time-based calculations in scripts.
VBScript Date/Time Functions Overview
VBScript includes several built-in functions for date and time operations. The
primary functions are Now, Date, Time,
DateAdd, DateDiff, DatePart, and
FormatDateTime. These functions help retrieve current date/time,
perform calculations, and format output.
Date values in VBScript are stored as floating-point numbers where the integer part represents the date and the fractional part represents the time. This numeric representation allows for easy date arithmetic and comparisons.
Getting Current Date and Time
The Now, Date, and Time functions are the
most basic date/time functions. Now returns both date and time,
while Date and Time return just the date or time
components respectively.
Dim currentDateTime, currentDate, currentTime currentDateTime = Now() currentDate = Date() currentTime = Time() WScript.Echo "Current Date and Time: " & currentDateTime WScript.Echo "Current Date: " & currentDate WScript.Echo "Current Time: " & currentTime
This example demonstrates how to retrieve the current system date and time. The
Now function provides both components, while Date and
Time separate them. These functions don't require any parameters.
Date Arithmetic with DateAdd
The DateAdd function allows you to perform date arithmetic by
adding or subtracting time intervals. It takes three parameters: the interval
type, the number of intervals, and the original date.
Dim today, nextWeek, nextMonth, nextYear, yesterday
today = Date()
nextWeek = DateAdd("d", 7, today) ' Add 7 days
nextMonth = DateAdd("m", 1, today) ' Add 1 month
nextYear = DateAdd("yyyy", 1, today) ' Add 1 year
yesterday = DateAdd("d", -1, today) ' Subtract 1 day
WScript.Echo "Today: " & today
WScript.Echo "Next Week: " & nextWeek
WScript.Echo "Next Month: " & nextMonth
WScript.Echo "Next Year: " & nextYear
WScript.Echo "Yesterday: " & yesterday
This example shows various date calculations using DateAdd. The
first parameter specifies the interval type ("d" for day, "m" for month, etc.).
Negative numbers subtract time. This is useful for calculating deadlines or
expiration dates.
Date Difference with DateDiff
The DateDiff function calculates the difference between two dates
in specified units. It takes three parameters: interval type, date1, and date2.
The result is the number of intervals between the two dates.
Dim startDate, endDate, daysDiff, monthsDiff, yearsDiff
startDate = #1/15/2025#
endDate = #4/4/2025#
daysDiff = DateDiff("d", startDate, endDate)
monthsDiff = DateDiff("m", startDate, endDate)
yearsDiff = DateDiff("yyyy", startDate, endDate)
WScript.Echo "Days between dates: " & daysDiff
WScript.Echo "Months between dates: " & monthsDiff
WScript.Echo "Years between dates: " & yearsDiff
This example calculates the difference between two dates in days, months, and
years. DateDiff is useful for calculating ages, durations, or time
remaining until an event. Note that months and years differences are integer
values.
Extracting Date Parts with DatePart
The DatePart function extracts specific components from a date,
such as year, month, day, or weekday. It takes two parameters: the part to
extract and the date value.
Dim currentDate, year, month, day, weekday
currentDate = Date()
year = DatePart("yyyy", currentDate)
month = DatePart("m", currentDate)
day = DatePart("d", currentDate)
weekday = DatePart("w", currentDate)
WScript.Echo "Current Date: " & currentDate
WScript.Echo "Year: " & year
WScript.Echo "Month: " & month
WScript.Echo "Day: " & day
WScript.Echo "Weekday: " & weekday & " (1=Sunday, 7=Saturday)"
This example demonstrates how to extract various components from a date. The weekday returns a number from 1 (Sunday) to 7 (Saturday). This function is useful when you need to process dates based on their components.
Formatting Dates with FormatDateTime
The FormatDateTime function formats a date/time value according to
specified formatting options. It takes two parameters: the date and the format
constant (0-4).
Dim currentDateTime, longDate, shortDate, longTime, shortTime currentDateTime = Now() longDate = FormatDateTime(currentDateTime, 1) ' vbLongDate shortDate = FormatDateTime(currentDateTime, 2) ' vbShortDate longTime = FormatDateTime(currentDateTime, 3) ' vbLongTime shortTime = FormatDateTime(currentDateTime, 4) ' vbShortTime WScript.Echo "Original: " & currentDateTime WScript.Echo "Long Date: " & longDate WScript.Echo "Short Date: " & shortDate WScript.Echo "Long Time: " & longTime WScript.Echo "Short Time: " & shortTime
This example shows different date/time formatting options. The format constants determine the output style. This is particularly useful for displaying dates in user interfaces or reports according to regional settings.
Source
VBScript Date/Time Functions Documentation
In this article, we have explored the essential VBScript Date/Time functions,
covering retrieval, manipulation, and formatting of date/time values. From basic
functions like Now and Date to more advanced
operations with DateAdd and DateDiff, these tools are
vital for any VBScript programmer working with temporal data.
Author
List all VBScript tutorials.