date - VBScript如何设置日期格式?

121 3

我想让日期看起来像MM-DD-YYYY 而不是mm/dd/yyyy

时间: 原作者:

68 2

0 = vbGeneralDate - Default. Returns date: mm/dd/yy and time if specified: hh:mm:ss PM/AM.


1 = vbLongDate - Returns date: weekday, monthname, year


2 = vbShortDate - Returns date: mm/dd/yy


3 = vbLongTime - Returns time: hh:mm:ss PM/AM


4 = vbShortTime - Return time: hh:mm



d=CDate("2010-02-16 13:45")


document.write(FormatDateTime(d) &"<br />")


document.write(FormatDateTime(d,1) &"<br />")


document.write(FormatDateTime(d,2) &"<br />")


document.write(FormatDateTime(d,3) &"<br />")


document.write(FormatDateTime(d,4) &"<br />")



如果你想使用其他格式,你会必须创建自己的函数和解析月,年,日等等。


Function myDateFormat(myDate)


 d = WhatEver(Day(myDate))


 m = WhatEver(Month(myDate)) 


 y = Year(myDate)


 myDateFormat= m &"-" & d &"-" & y


End Function



Function WhatEver(num)


 If(Len(num)=1) Then


 WhatEver="0"&num


 Else


 WhatEver=num


 End If


End Function



编辑:如果值小于10,则添加将日和月格式设置为0n的函数。

原作者:
95 2

建议只在函数中调用'Now '一次,以防止在执行函数期间改变分钟,甚至一天。

因此:


Function timeStamp()


 Dim t 


 t = Now


 timeStamp = Year(t) &"-" & _


 Right("0" & Month(t),2) &"-" & _


 Right("0" & Day(t),2) &"_" & _ 


 Right("0" & Hour(t),2) & _


 Right("0" & Minute(t),2) ' '& _ Right("0" & Second(t),2) 


End Function



原作者:
141 5

日期:

 
01/20/2017



 

通过替换


CurrentDate = replace(date,"/","-")



它将输出:

 
01-20-2017



 

原作者:
136 2

这个Fragment还解决了这个问题日期部分函数我还使用了right()技巧来执行rpad(x,2,"0")


option explicit



Wscript.Echo"Today is" & myDate(now)



' date formatted as your request


Function myDate(dt)


 dim d,m,y, sep


 sep ="-"


 ' right(..) here works as rpad(x,2,"0")


 d = right("0" & datePart("d",dt),2)


 m = right("0" & datePart("m",dt),2)


 y = datePart("yyyy",dt)


 myDate= m & sep & d & sep & y


End Function



原作者:
...