Vbscript 如何将日期戳转换为在YYYY-MM-DD日期中将MM显示为月份

Vbscript 如何将日期戳转换为在YYYY-MM-DD日期中将MM显示为月份,vbscript,Vbscript,我正在编辑一个.VBS代码。我想在文件名中编辑一个日期戳 过去是: dateStamp = CStr((Year(reportDate) * 10000) + (Month(reportDate) * 100) + Day(reportDate)) so:YYYYMMDD 我想要像YYYY-MM-DD这样的东西: dateStamp = CStr(Year(reportDate)) & "-" & CStr(Month(reportDate)) & "-" &

我正在编辑一个.VBS代码。我想在文件名中编辑一个日期戳

过去是:

dateStamp = CStr((Year(reportDate) * 10000) + (Month(reportDate) * 100) + Day(reportDate))
so:YYYYMMDD

我想要像YYYY-MM-DD这样的东西:

dateStamp = CStr(Year(reportDate)) & "-" & CStr(Month(reportDate)) & "-" & CStr(Day(reportDate))
但是这个代码给了我YYYY-M-DD

比如:

dateStamp = CStr(Year(reportDate)) & "-" & CStr(Right(String(2, "0") & Month(reportDate), 2)) & "-" & CStr(Day(reportDate))
不起作用


你能帮我一下吗?

假设“reportDate”是一个验证日期/时间字符串,这应该可以工作:

Year(reportDate) & "-" &  _
Right("0" & Month(reportDate),2) & "-" & _
Right("0" & Day(reportDate),2)
如果将
reportDate
替换为
Now
,则如果现有变量存在任何问题,则可以显示它正在工作

编辑:

顺便说一句,你的工作会成功的,尽管它比它需要的更多。您只需要更正代码中月份部分的“神奇引号”。零周围的引号不是正确的双引号

CStr(Right(String(2, “0”) & Month(reportDate), 2))

但是您不需要额外的函数调用。我会使用上面例子中的一个。

这就解决了这个问题。非常感谢。愚蠢的引语:)@Ansgar Wiechers实际上更可能是由于不正确的引语用法,所以接近的原因应该是“关于无法再复制或由简单印刷错误引起的问题的问题。虽然类似的问题可能会在这里讨论,但这些问题往往以一种不太可能帮助未来读者的方式得到解决。