我如何获得日期和时间时间(VBS)

时间:2011-08-10 13:14:48

标签: vbscript

如何使用VBS获取当前日期和时间(适用于Windows。我不是在寻找ASP / ASPX或网页的VBScript)。

7 个答案:

答案 0 :(得分:41)

以下是您可以在Windows脚本宿主(WSH)下运行 vbscript 的各种日期和时间信息:

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:Win32_OperatingSystem=@")
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

答案 1 :(得分:7)

要阐述Numenor的答案,你可以做一些事情,Format(Now(),“HH:mm:ss”) 使用这些custom date/time格式化选项


对于那些想要回答这个问题的人,请注意这个问题最初被标记为VB和vbscript,因此我的答案是,VB标签被删除了,只留下了vbscript标签。 OP 接受这个答案,我认为它给了他所需要的信息。

答案 2 :(得分:7)

对于VBScript,使用FormatDateTime,它有5个数字参数,为您提供5种预定义格式之一。它不是很好。

  FormatDateTime(now, 4)
  08:12

答案 3 :(得分:3)

还有单独的Time()Date()功能。

答案 4 :(得分:3)

这是一个古老的问题,但是这里的很多答案都使用VB或VBA。标签上写着vbscript(这就是我到达这里的方式)。

这里的答案有点混乱,因为VB范围很广,您可以在其中拥有许多应用。我的答案完全是关于vbscript的,并且完成了在vbscript中以YYYYMMDD格式

的情况。

分享我所学到的东西:

  1. vbscript中定义了here的所有DateTime函数,因此您可以混合n匹配以获得所需的结果
  2. 我需要获取当前日期并将其设置为YYYYMMDD格式,以便我只需要将DatePart合并为当前日期:date = DatePart("yyyy",Date) & DatePart("m",Date) & DatePart("d",Date)

仅此而已,我希望这对某人有帮助。

答案 5 :(得分:2)

以24小时格式显示时间

Right("0" & hour(now),2) & ":" & Right("0" & minute(now),2)   = 01:35
Right("0" & hour(now),2)                                      = 01
Right("0" & minute(now),2)                                    = 35

答案 6 :(得分:0)

now返回当前日期和时间