Как я могу получить дату и время (VBS) - PullRequest
16 голосов
/ 10 августа 2011

Как получить текущую дату и время с помощью VBS (для Windows. Я не ищу VBScript для ASP / ASPX или веб-страниц).

Ответы [ 7 ]

43 голосов
/ 13 ноября 2013

Ниже приведена различная информация о дате и времени, которую вы можете получить vbscript , работающей под Windows Script Host (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: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

Dim wmi : Set wmi = GetObject("winmgmts:root\cimv2")
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

Источник

7 голосов
/ 23 октября 2013

Для VBScript используйте FormatDateTime, который имеет 5 числовых аргументов, чтобы дать вам один из 5 предопределенных форматов.Это не здорово.

  FormatDateTime(now, 4)
  08:12
6 голосов
/ 10 августа 2011

Чтобы объяснить ответ Нуменора, вы можете сделать что-то вроде Формат (Now (), "ЧЧ: мм: сс"), используя эти пользовательские дату / время параметры форматирования


Для всех, кто испытывает желание понизить этот ответ, имейте в виду, что вопрос был изначально помечен как VB и vbscript, поэтому мой ответ, тег VB был отредактирован, оставив только тег vbscript.ОП принял этот ответ, который, как я понимаю, дал ему информацию, в которой он нуждался.

3 голосов
/ 10 декабря 2018

Это старый вопрос, но во многих ответах здесь используется VB или VBA.Тег говорит vbscript (именно так я сюда попал).

Ответы здесь запутались, так как VB очень широк, где вы можете использовать его так много.Мой ответ только на vbscript и завершает мой случай форматирования в YYYYMMDD в vbscript

Обмен тем, что я выучил:

  1. Есть все DateTime функции в vbscript определены здесь , чтобы вы могли mix-n-match получить желаемый результат
  2. Мне нужно было получить текущую дату и отформатировать ее в YYYYMMDD, чтобысделать то, что мне просто нужно, чтобы конкатить DatePart, например, для текущей даты: date = DatePart("yyyy",Date) & DatePart("m",Date) & DatePart("d",Date)

Вот и все, надеюсь, это кому-нибудь поможет.

3 голосов
/ 10 августа 2011

Существуют также отдельные функции Time() и Date().

2 голосов
/ 15 октября 2018

Показать время в форме 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
0 голосов
/ 10 августа 2011

now возвращает текущую дату и время

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...