VBScript 日期/时间函数
最后修改于 2025 年 4 月 4 日
VBScript 提供了一套全面的日期和时间处理函数。这些函数允许您检索、操作和格式化日期/时间值。理解这些函数对于脚本中的日志记录、调度和基于时间的计算等任务至关重要。
VBScript 日期/时间函数概述
VBScript 包含多个用于日期和时间操作的内置函数。主要函数有 Now、Date、Time、DateAdd、DateDiff、DatePart 和 FormatDateTime。这些函数有助于检索当前日期/时间、执行计算和格式化输出。
VBScript 中的日期值存储为浮点数,其中整数部分代表日期,小数部分代表时间。这种数字表示形式便于进行日期算术和比较。
获取当前日期和时间
Now、Date 和 Time 函数是最基本的日期/时间函数。Now 同时返回日期和时间,而 Date 和 Time 则分别仅返回日期或时间部分。
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
此示例演示了如何检索当前系统日期和时间。Now 函数同时提供这两个部分,而 Date 和 Time 则将它们分开。这些函数不需要任何参数。
使用 DateAdd 进行日期算术
DateAdd 函数允许您通过添加或减去时间间隔来进行日期算术。它需要三个参数:间隔类型、间隔数量和原始日期。
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
此示例展示了使用 DateAdd 进行各种日期计算。第一个参数指定间隔类型(“d”表示天,“m”表示月等)。负数表示减去时间。这对于计算截止日期或到期日期非常有用。
使用 DateDiff 计算日期差
DateDiff 函数以指定的单位计算两个日期之间的差值。它需要三个参数:间隔类型、date1 和 date2。结果是两个日期之间的间隔数。
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
此示例以天、月和年为单位计算两个日期之间的差值。DateDiff 对于计算年龄、持续时间或事件剩余时间非常有用。请注意,月和年的差值是整数值。
使用 DatePart 提取日期部分
DatePart 函数从日期中提取特定组件,例如年、月、日或星期几。它需要两个参数:要提取的部分和日期值。
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)"
此示例演示了如何从日期中提取各种组件。星期几返回一个从 1(星期日)到 7(星期六)的数字。当您需要根据日期组件处理日期时,此函数非常有用。
使用 FormatDateTime 格式化日期
FormatDateTime 函数根据指定的格式选项格式化日期/时间值。它需要两个参数:日期和格式常量(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
此示例展示了不同的日期/时间格式选项。格式常量决定了输出样式。这对于根据区域设置在用户界面或报告中显示日期特别有用。
来源
在本文中,我们探讨了 VBScript 中必不可少的日期/时间函数,涵盖了日期/时间值的检索、操作和格式化。从 Now 和 Date 等基本函数到 DateAdd 和 DateDiff 等更高级的操作,这些工具对于任何处理时间数据的 VBScript 程序员都至关重要。