0
A
回答
-2
ThisDate = Date()
MyDate = Right("0" & CStr(Month(ThisDate)), 2) & "/" & _
Right("0" & CStr(Day(ThisDate)), 2) & "/" & CStr(Year(ThisDate))
1
FormatDateTime函數是沒用的,因爲它取決於用戶的具體和全局區域設置。
對於日期來說,最好的(最少的努力獲得最大的收益)解決方案 - 攻擊.NET - 是有缺陷的;再次因爲依賴區域設置。
如果你想/需要推出你自己的功能,從fmtDate()開始。
Dim g_oSB : Set g_oSB = CreateObject("System.Text.StringBuilder")
Function sprintf(sFmt, aData)
g_oSB.AppendFormat_4 sFmt, (aData)
sprintf = g_oSB.ToString()
g_oSB.Length = 0
End Function
Function fmtDate(dtX)
fmtDate = Join(Array( _
Right(100 + Month(dtX), 2) _
, Right(100 + Day(dtX), 2) _
, Year(dtX) _
), "/")
End Function
Dim dtYesterday : dtYesterday = Date() - 1
WScript.Echo "Yesterday:", dtYesterday, GetLocale()
WScript.Echo "sprintf (silly) =>", sprintf("{0:MM/dd/yyyy}", Array(dtYesterday))
WScript.Echo "sprintf (clumsy) =>", sprintf("{0:MM}/{0:dd}/{0:yyyy}", Array(dtYesterday))
WScript.Echo "fmtDate =>", fmtDate(dtYesterday)
輸出:
Yesterday: 08.03.2012 1033
sprintf (silly) => 03.08.2012
sprintf (clumsy) => 03/08/2012
fmtDate => 03/08/2012
關於第二個想法:
逃離 「/」 有助於使的sprintf()可用:
WScript.Echo "sprintf (silly me) =>", sprintf("{0:MM\/dd\/yyyy}", Array(dtYesterday))
輸出:
sprintf (silly me) => 03/08/2012
所以不要打擾fmt *功能,但使用.NET格式。
相關問題
- 1. VBS objFile.DateLastModified和日期格式設置
- 2. VBS - 帶日期
- 3. VBS不正確的日期時間格式
- 4. 使用VBS轉換SQL Server的日期格式
- 5. 全格式中的eventRender日期格式
- 6. 日期格式化IOS中的格式
- 7. 日期格式爲日期
- 8. 日期(「8601格式日期」)?
- 9. 日期格式日期
- 10. 日期格式中的GridView
- 11. C#中的日期格式
- 12. ASP.net中的日期格式?
- 13. PHP中的日期格式
- 14. bash中的日期格式
- 15. RangeValidator中的日期格式
- 16. vb.net中的日期格式
- 17. 格式Xpath中的日期
- 18. Postgres中的格式日期
- 19. vba中的日期格式
- 20. C中的日期格式
- 21. JAVA中的日期格式
- 22. LINQ中的日期格式
- 23. mysql中的日期格式?
- 24. MVC中的日期格式
- 25. MySQL中的格式日期
- 26. ASP.NET中的日期格式
- 27. Android中的格式日期
- 28. VB6中的日期格式
- 29. java中的日期格式
- 30. c中的格式日期#
是否有資源列出哪些.NET庫暴露給VBScript? – 2012-03-11 16:40:02