web-dev-qa-db-fra.com

Comment puis-je obtenir la date et l'heure (VBS)

Comment obtenir la date et l'heure actuelles avec VBS (pour Windows. Je ne recherche pas VBScript pour ASP/ASPX ou les pages Web).

13
Cocoa Dev

Pour expliquer la réponse de Numenor, vous pouvez faire quelque chose comme, Format (Maintenant (), "HH: mm: ss") En utilisant ces options personnalisées de date/heure formatage


Pour tous ceux qui sont tentés de réduire cette réponse, veuillez noter que la question était initialement étiquetée VB et vbscript, d'où ma réponse, la balise VB a été supprimée pour ne laisser que la balise vbscript. Le PO a accepté cette réponse, ce qui, selon moi, signifie qu'il lui a fourni les informations dont il avait besoin. 

6
Mark Hall

Voici diverses informations sur la date et l'heure que vous pouvez obtenir dans vbscript sous 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

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

La source

39
Michael Kropat

Pour VBScript, utilisez FormatDateTime, qui a 5 arguments numériques pour vous donner l’un des 5 formats prédéfinis. Ce n'est pas génial. 

  FormatDateTime(now, 4)
  08:12

Il existe également des fonctions distinctes Time() et Date().

3
heximal

Afficher le temps sous forme 24 heures

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

C'est une vieille question, mais beaucoup de réponses ici utilisent VB ou VBA. La balise indique vbscript (c'est comme ça que je suis arrivé ici).

Les réponses ici sont un peu confuses puisque VB est très large et que vous pouvez avoir de nombreuses applications. Ma réponse est uniquement sur vbscript et accomplit mon cas de formatage en AAAAMMJJ en vbscript

Partage de ce que j'ai appris:

  1. Il y a toutes les fonctions DateTime dans vbscript définies ici vous pouvez donc mélanger n correspondance pour obtenir le résultat souhaité.
  2. Ce dont j'avais besoin, c’était d’obtenir la date actuelle et de la formater en YYYYMMDD pour le faire. Il me suffisait de concaténer DatePart comme pour la date actuelle: date = DatePart("yyyy",Date) & DatePart("m",Date) & DatePart("d",Date)

C'est tout, j'espère que cela aide quelqu'un.

1
Callat

now renvoie la date et l'heure actuelles

0
Numenor