Czy ktoś ma prosty sposób w VBScript, aby uzyskać aktualny czas w UTC?Przypisanie czasu UTC w VBScript
Niż, Chris
Czy ktoś ma prosty sposób w VBScript, aby uzyskać aktualny czas w UTC?Przypisanie czasu UTC w VBScript
Niż, Chris
Istnieje wiele przykładów tam. Jeśli masz dostęp rejestr ten będzie pracować dla Ciebie:
od = now()
set oShell = CreateObject("WScript.Shell")
atb = "HKEY_LOCAL_MACHINE\System\CurrentControlSet\" &_
"Control\TimeZoneInformation\ActiveTimeBias"
offsetMin = oShell.RegRead(atb)
nd = dateadd("n", offsetMin, od)
Response.Write("Current = " & od & "<br>UTC = " & nd)
Co powiesz na sekundy? Próbowałem zmienić "n" na "s" i nie zmieniło to formatu ... – Chris
Można uzyskać nastawienie czasu od Win32_TimeZoneWMI
klasie.
myDate = "9/4/2013 17:23:08"
For Each objItem In GetObject(_
"winmgmts:\\.\root\cimv2").ExecQuery(_
"Select * from Win32_TimeZone")
bias = objItem.Bias
Next
myDate = DateAdd("n", bias, myDate)
WScript.Echo myDate
używam prostą techniką
Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
dateTime.SetVarDate (now())
wscript.echo "Local Time: " & dateTime
wscript.echo "UTC Time: " & dateTime.GetVarDate (false)
Jeśli chcesz przekonwertować UTC powrotem do czasu lokalnego to zrobić:
Set dateTime = CreateObject("WbemScripting.SWbemDateTime")
dateTime.SetVarDate now(),false REM Where now is the UTC date
wscript.echo cdate(dateTime.GetVarDate (true))
Czy jest obecny w każdej instalacji systemu Windows? – rcdmk
Z SetVarDate offsetowej zmiany należytym przejście na czas letni (z +060 na +120) nastąpiło o godzinę wcześniej. Metoda RegRead (HKLM \ .. \ ActiveTimeBias) była spot-on. Jeśli pożądana jest reprodukcja, po prostu umieść zegar pc na czas tuż przed i tuż po spodziewanym czasie przejścia i sprawdź wyniki.
Masz na myśli lokalny czas systemowy w formacie UTC? –