2011-08-10 192 views
10

如何使用VBS获取当前日期和时间(对于Windows,我不想为ASP/ASPX或网页寻找VBScript)。如何获取日期和时间(VBS)

+0

http://www.w3schools.com/ vbscript/func_date.asp – asawyer

+0

asawyer这是网页。不寻求网页。即使你的回答是正确的,我也不能给你信用,因为你把它添加为评论。 –

回答

2

,阐述对努曼诺尔的答案,你可以这样做,Format(NOW(), “HH:MM:SS”)使用谁是诱惑downvote这这些custom date/time格式化选项


对于大家 回答请注意,该问题最初是标记为VB和VBScript,因此我的答案是,VB标记被编辑出来,只留下VBScript标记。 OP 接受这个答案,我认为它给了他他需要的信息。

+11

-1,因为Format()不是VBScript,而是VB.NET。 –

+1

@ Ekkehard.Horner你似乎错过了Joel Coehoorn在2月27日编辑的Vb标签。这个问题最初被标记为Vb和VBScript,因此我给出了答案,并且它似乎符合OP的要求,因为他标记为答案。 –

+0

我只想让答案对于现在的问题是正确的。我不应该拒绝投票,我的歉意。 –

1

now返回当前日期和时间

+1

我可以操纵返回的字符串吗?例如。我想用24小时格式(没有AM/PM) –

1

还有一些分离Time()Date()功能。

4

对于VBScript使用FormatDateTime,它有5个数值参数给你5种预定义格式之一。它不是很好。

FormatDateTime(now, 4) 
    08:12 
31

这里的各种日期和时间信息,您可以在VBScript中拉动下Windows脚本宿主运行(WSH):

Now = 2/29/2016 1:02:03 PM 
Date = 2/29/2016 
Time = 1:02:03 PM 
Timer = 78826.31  ' seconds since midnight 

FormatDateTime(Now)    = 2/29/2016 1:02:03 PM 
FormatDateTime(Now, vbGeneralDate) = 2/29/2016 1:02:03 PM 
FormatDateTime(Now, vbLongDate) = Monday, February 29, 2016 
FormatDateTime(Now, vbShortDate) = 2/29/2016 
FormatDateTime(Now, vbLongTime) = 1:02:03 PM 
FormatDateTime(Now, vbShortTime) = 13:02 

Year(Now) = 2016 
Month(Now) = 2 
Day(Now) = 29 
Hour(Now) = 13 
Minute(Now) = 2 
Second(Now) = 3 

Year(Date) = 2016 
Month(Date) = 2 
Day(Date) = 29 

Hour(Time) = 13 
Minute(Time) = 2 
Second(Time) = 3 

Function LPad (str, pad, length) 
    LPad = String(length - Len(str), pad) & str 
End Function 

LPad(Month(Date), "0", 2) = 02 
LPad(Day(Date), "0", 2)  = 29 
LPad(Hour(Time), "0", 2)  = 13 
LPad(Minute(Time), "0", 2) = 02 
LPad(Second(Time), "0", 2) = 03 

Weekday(Now)      = 2 
WeekdayName(Weekday(Now), True) = Mon 
WeekdayName(Weekday(Now), False) = Monday 
WeekdayName(Weekday(Now))  = Monday 

MonthName(Month(Now), True) = Feb 
MonthName(Month(Now), False) = February 
MonthName(Month(Now))  = February 

Set os = GetObject("winmgmts:root\cimv2:[email protected]") 
os.LocalDateTime = 20131204215346.562000-300 
Left(os.LocalDateTime, 4) = 2013 ' year 
Mid(os.LocalDateTime, 5, 2) = 12 ' month 
Mid(os.LocalDateTime, 7, 2) = 04 ' day 
Mid(os.LocalDateTime, 9, 2) = 21 ' hour 
Mid(os.LocalDateTime, 11, 2) = 53 ' minute 
Mid(os.LocalDateTime, 13, 2) = 46 ' second 

Set timeZones = wmi.ExecQuery("SELECT Bias, Caption FROM Win32_TimeZone") 
For Each tz In timeZones 
    tz.Bias = -300 
    tz.Caption = (UTC-05:00) Eastern Time (US & Canada) 
Next 

Source