是否有任何函數在VBScript中以格式mmm-dd-yyyy
顯示日期? 例如。今天的日期爲Jan 22 2014
?日期格式函數顯示日期爲「2014年1月13日」
我嘗試使用功能
FormatDateTime(Now(), 2)
我得到了它作爲16 January 2014
。
是否有任何函數/格式將其作爲Jan 16 2014
?
是否有任何函數在VBScript中以格式mmm-dd-yyyy
顯示日期? 例如。今天的日期爲Jan 22 2014
?日期格式函數顯示日期爲「2014年1月13日」
我嘗試使用功能
FormatDateTime(Now(), 2)
我得到了它作爲16 January 2014
。
是否有任何函數/格式將其作爲Jan 16 2014
?
通過使用.NET的StringBuilder - 爲所有的格式設置需要 - 你得到的最大收益:
Option Explicit
Class cFormat
Private m_oSB
Private Sub Class_Initialize()
Set m_oSB = CreateObject("System.Text.StringBuilder")
End Sub ' Class_Initialize
Public Function formatOne(sFmt, vElm)
m_oSB.AppendFormat sFmt, vElm
formatOne = m_oSB.ToString()
m_oSB.Length = 0
End Function ' formatOne
Public Function formatArray(sFmt, aElms)
m_oSB.AppendFormat_4 sFmt, (aElms)
formatArray = m_oSB.ToString()
m_oSB.Length = 0
End Function ' formatArray
End Class ' cFormat
Dim oFmt : Set oFmt = New cFormat
WScript.Echo oFmt.FormatOne("Today: {0:MMM dd yyyy}", Date())
WScript.Echo oFmt.FormatOne("Today: {0:yyyy-MM-dd [MMMM]}", Date())
輸出:
cscript 21279700.vbs
Today: Jan 22 2014
Today: 2014-01-22 [Januar]
有背景看here 。
FormatDate
根據系統區域設置中配置的格式格式化日期。如果您使用VBScript內建想自定義日期格式,你會做這樣的:
WScript.Echo MonthName(Month(Now), True) & " " & Day(Now) & " " & Year(Now)
哦,顯然是在一般情況下,至少在ASP中,你必須做'MONTHNAME (月(指明MyDate))'。 – feetwet
你是對的。顯然,我在(失敗)內存的回答中輸入了片段,而不是實際查找[documentation](https://msdn.microsoft.com/en-us/library/58f13257)。感謝您的高舉。現在已經修復了。 –
以下功能將幫助它在返回「DD-MMM-YYYY HH:MM:SS」格式。 您可以根據需要自定義格式。
Function timeStampForLogging(t)
Dim Months
Months = Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", _
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec")
timeStampForLogging = Right("0" & Day(t),2)& "-" & _
Months(Month(t)-1) & "-" & _
Year(t) & " " & _
Right("0" & Hour(t),2) & ":" & _
Right("0" & Minute(t),2) & ":" & _
Right("0" & Second(t),2)
End Function
'月(右(「0」和月(t),2))' - 不嚴重? –
@ Ekkehard.Horner我仍在研究一個vbscript文件和上面的解決方案。並更新了答案,因爲得到了錯誤的輸出結果,但希望這個答案現在好了 – Jitesh
大量這方面的例子 - [格式化當前日期和時間(http://stackoverflow.com/a/22575530/692942) – Lankymart