Как получить текущую дату и время с помощью VBS (для Windows. Я не ищу VBScript для ASP/ASPX или веб-страниц).
Как получить дату и время (VBS)
Ответ 1
Чтобы разъяснить ответ Numenor, вы можете сделать что-то вроде Format (Now(), "HH: mm: ss"), используя эти пользовательские параметры форматирования даты/времени.
Для всех, кто испытывает желание понизить этот ответ, имейте в виду, что вопрос был изначально помечен как VB и vbscript, и, следовательно, мой ответ, тег VB был отредактирован, оставив только тег vbscript. ОП принял этот ответ, который, как я понимаю, дал ему информацию, в которой он нуждался.
Ответ 2
Вот различные сведения о дате и времени, которые вы можете получить в 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:[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
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
Ответ 3
Для VBScript используйте FormatDateTime, который содержит 5 числовых аргументов, чтобы предоставить вам один из 5 предопределенных форматов. Это не здорово.
FormatDateTime(now, 4)
08:12
Ответ 4
Существуют также отдельные функции Time()
и Date()
.
Ответ 5
Это старый вопрос, но многие ответы здесь используют VB или VBA. Тег говорит vbscript (именно так я сюда попал).
Ответы здесь запутались, так как VB очень широк, где вы можете использовать его очень много. Мой ответ только на vbscript и завершает мой случай форматирования в ГГГГММДД в vbscript
Поделиться тем, что я узнал:
- Есть все
DateTime
функции в VBScript, определенная здесь, так что вы можете смешивать-н-матч, чтобы получить результат, который вы хотите - Мне нужно было получить текущую дату и отформатировать ее в
YYYYMMDD
чтобы сделать то, что мне просто нужно, чтобыDatePart
как для текущей даты:date = DatePart("yyyy",Date) & DatePart("m",Date) & DatePart("d",Date)
Вот и все, надеюсь, это кому-нибудь поможет.
Ответ 6
Время показа в форме 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
Ответ 7
now
возвращает текущую дату и время