2011-08-10 268 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