Vbscript 在vb脚本中将日期转换为字符串
我有日期,如2013年6月24日,我只想在vb脚本中输出月份名称和日期,如6月24日。使用两个函数分别处理两个(子)问题-月份名称和序号:Vbscript 在vb脚本中将日期转换为字符串,vbscript,Vbscript,我有日期,如2013年6月24日,我只想在vb脚本中输出月份名称和日期,如6月24日。使用两个函数分别处理两个(子)问题-月份名称和序号: Option Explicit Dim n For n = -2 To 10 WScript.Echo fmtDate(DateAdd("d", n, Date)) Next Function fmtDate(dtX) fmtDate = MonthName(Month(dtX)) & " " & ordinal(Day(dt
Option Explicit
Dim n
For n = -2 To 10
WScript.Echo fmtDate(DateAdd("d", n, Date))
Next
Function fmtDate(dtX)
fmtDate = MonthName(Month(dtX)) & " " & ordinal(Day(dtX))
End Function
' !! http://stackoverflow.com/a/4011232/603855
Function ordinal(n)
Select Case n Mod 10
case 1 : ordinal = "st"
case 2 : ordinal = "nd"
case 3 : ordinal = "rd"
case Else : ordinal = "th"
End Select
ordinal = n & ordinal
End Function
输出:
June 22nd
June 23rd
June 24th
June 25th
June 26th
June 27th
June 28th
June 29th
June 30th
July 1st
July 2nd
July 3rd
July 4th
更新:
(希望)ordinal()的改进版本:
我尝试使用cstr(date()),但它返回的是2013年6月24日,这个问题是关于VBScript还是VB.net的?他们是不同的语言。另外,您是否将该日期作为字符串或日期值?我尝试使用此代码MonthName(Month(Now())和date am硬编码,因此我得到了6月24日。您是否介意回答您提出的问题?
Function ordinal(n)
Select Case n Mod 31
case 1, 21, 31 : ordinal = "st"
case 2, 22 : ordinal = "nd"
case 3, 23 : ordinal = "rd"
case Else : ordinal = "th"
End Select
ordinal = n & ordinal
End Function