Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vbscript 在vb脚本中将日期转换为字符串_Vbscript - Fatal编程技术网

Vbscript 在vb脚本中将日期转换为字符串

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

我有日期,如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(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