【发布时间】:2012-11-28 22:43:40
【问题描述】:
我需要根据从今天开始的天数和数月的距离来计算日期。我需要以 mm/dd/yyyy 格式返回它。使用 VBScript 的 DateDiff 函数,您只能从日期获取距离(或月、分钟或年,我知道)。所以当然你可以笨拙地拼凑一个知道所有这些的时间戳。有没有更有效的方法来计算 7 天前一天的时间戳? 1个月前?谢谢!
【问题讨论】:
我需要根据从今天开始的天数和数月的距离来计算日期。我需要以 mm/dd/yyyy 格式返回它。使用 VBScript 的 DateDiff 函数,您只能从日期获取距离(或月、分钟或年,我知道)。所以当然你可以笨拙地拼凑一个知道所有这些的时间戳。有没有更有效的方法来计算 7 天前一天的时间戳? 1个月前?谢谢!
【问题讨论】:
不要使用DateDiff,而是使用DateAdd 将日期添加到今天。然后使用 dotnet StringBuilder 轻松格式化您的日期(比构建自己的格式化函数效果更好,并且更灵活):
' initializing
myDate = Now
monthsToAdd = 6
daysToAdd = 15
myFormat = "MM/dd/yyyy"
' shifting the date
myDate = DateAdd("m", monthsToAdd, myDate)
myDate = DateAdd("d", daysToAdd, myDate)
' formatting the date
Set sb = createobject("System.Text.StringBuilder")
sb.AppendFormat "{0:" & myFormat & "}", myDate
' passing the result
WScript.Echo sb.ToString()
【讨论】: