如何转换日期戳以在YYYY-MM-DD日期显示MM作为月份

时间:2016-01-20 20:03:05

标签: vbscript

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

过去是:

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

所以: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))

不起作用。

你可以帮帮我吗?

1 个答案:

答案 0 :(得分:0)

这应该有用,假设" reportDate"是验证日期/时间字符串:

Year(reportDate) & "-" &  _
Right("0" & Month(reportDate),2) & "-" & _
Right("0" & Day(reportDate),2)

如果您在Now中替换为reportDate,则可以显示其有效,如果现有变量存在任何问题。

编辑:

顺便说一下,你的本来会有所作为,尽管它比你需要的更多。你只需要纠正"魔术引号"从代码的Month部分开始。零附近的引号不是正确的双引号。

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

但是你不需要额外的函数调用。我使用上面示例中的那个。