首页 > 编程 > VBScript > 正文

VBS显示当前标准时间

2020-06-26 18:31:25
字体:
来源:转载
供稿:网友

本文给大家分享的是使用vbs来显示当前时间的2个实例,非常的简单实用,有需要的小伙伴可以参考下。

VBS显示当前标准时间,例如:执行下面的代码则显示:2013-05-11 19:10:11

 

 
  1. Option Explicit 
  2.  
  3. Dim blnDate, blnTime 
  4. Dim dtmDate 
  5. Dim intDay, intFormat, intHour, intMin, intMonth, intSec, intUTC, intValid, intYear 
  6. Dim strISO 
  7.  
  8. With WScript.Arguments 
  9. ' Check command line arguments 
  10. If .Unnamed.Count = 0 Then dtmDate = Now 
  11. If .Unnamed.Count > 0 Then dtmDate = .Unnamed(0) 
  12. If .Unnamed.Count > 1 Then dtmDate = dtmDate & " " & .Unnamed(1) 
  13. If .Unnamed.Count > 2 Then dtmDate = dtmDate & " " & .Unnamed(2) 
  14. If .Unnamed.Count > 3 Then Syntax 
  15. On Error Resume Next 
  16. dtmDate = CDate( dtmDate ) 
  17. If Err Then 
  18. On Error Goto 0 
  19. Syntax 
  20. End If 
  21. On Error Goto 0 
  22. If Not IsDate( dtmDate ) Then Syntax 
  23. intValid = 0 
  24. blnDate = True 
  25. blnTime = True 
  26. If .Named.Exists( "D" ) Then 
  27. blnDate = True 
  28. blnTime = False 
  29. intValid = intValid + 1 
  30. End If 
  31. If .Named.Exists( "T" ) Then 
  32. blnDate = False 
  33. blnTime = True 
  34. intValid = intValid + 1 
  35. End If 
  36. If intValid <> .Named.Count Then Syntax 
  37. If intValid > 1 Then Syntax 
  38. End With 
  39.  
  40. ' Format the output string 
  41. intYear = DatePartLZ( "yyyy", dtmDate ) 
  42. intMonth = DatePartLZ( "m", dtmDate ) 
  43. intDay = DatePartLZ( "d", dtmDate ) 
  44. intHour = DatePartLZ( "h", dtmDate ) 
  45. intMin = DatePartLZ( "n", dtmDate ) 
  46. intSec = DatePartLZ( "s", dtmDate ) 
  47. If blnDate Then strISO = intYear & "-" & intMonth & "-" & intDay 
  48. If blnTime Then strISO = strISO & " " & intHour & ":" & intMin & ":" & intSec 
  49. ' Display the result 
  50. WScript.Echo Trim( strISO ) 
  51.  
  52.  
  53. Function DatePartLZ( myInterval, myDate ) 
  54. ' Add a leading zero to the DatePart() if necessary 
  55. Dim strDatePart 
  56. strDatePart = DatePart( myInterval, myDate ) 
  57. If Len( strDatePart ) < 2 Then strDatePart = "0" & strDatePart 
  58. DatePartLZ = strDatePart 
  59. End Function 
  60.  
  61.  
  62. Sub Syntax 
  63. WScript.Echo vbcrlf _ 
  64. "Date2ISO.vbs, Version 1.02" _ 
  65. & vbCrLf _ 
  66. "Convert any date/time to ISO date/time" _ 
  67. & vbCrLf & vbCrLf _ 
  68. "Usage: CSCRIPT.EXE //NoLogo Date2ISO.vbs date [ time ] [ /D | /T ]" _ 
  69. & vbCrLf & vbCrLf _ 
  70. "Where: ""date"" is the date to convert (default: current date/time)" _ 
  71. & vbCrLf _ 
  72. " ""time"" is the optional time to convert" _ 
  73. & vbCrLf _ 
  74. " /D return date only (default: both date and time)" _ 
  75. & vbCrLf _ 
  76. " /T return time only (/D and /T are mutually exclusive)" _ 
  77. & vbCrLf & vbCrLf _ 
  78. "Note: If the specified date is ambiguous, the current user's date" _ 
  79. & vbCrLf _ 
  80. " and time format is assumed." _ 
  81. & vbCrLf & vbCrLf _ 
  82. "Written by Rob van der Woude" _ 
  83. & vbCrLf _ 
  84. "http://www.robvanderwoude.com" 
  85. WScript.Quit 1 
  86. End Sub 

附上一段VBS校对系统时间的代码给大家参考下

 

 
  1. 'VBS校准系统时间 BY BatMan  
  2. Dim objXML, Url, Message  
  3. Message = "恭喜你,本机时间非常准确无需校对!" 
  4. Set objXML = CreateObject("MSXML2.XmlHttp")  
  5. Url = "http://open.baidu.com/special/time/" 
  6. objXML.open "GET", Url, False 
  7. objXML.send()  
  8. Do Until objXML.readyState = 4 : WScript.Sleep 200 : Loop 
  9. Dim objStr, LocalDate  
  10. objStr = objXML.responseText  
  11. LocalDate = Now()  
  12. Set objXML = Nothing 
  13. Dim objREG, regNum  
  14. Set objREG = New RegExp  
  15. objREG.Global = True 
  16. objREG.IgnoreCase = True 
  17. objREG.Pattern = "window.baidu_time/((/d{13,})/)" 
  18. regNum = Int(objREG.Execute(objStr)(0).Submatches(0)) /1000  
  19. Dim OldDate, BJDate, Num, Num1  
  20. OldDate = "1970-01-01 08:00:00" 
  21. BJDate = DateAdd("s", regNum, OldDate)  
  22. Num = DateDiff("s", LocalDate, BJDate)  
  23. If Abs(Num) >=1 Then 
  24. Dim DM, DT, TM, objSHELL  
  25. DM = DateAdd("S", Num, Now())  
  26. DT = DateValue(DM)  
  27. TM = TimeValue(DM)  
  28. If InStr(Now, "午") Then 
  29. Dim Arr, Arr1, h24  
  30. Arr = Split(TM, " ")  
  31. Arr1 = Split(Arr(1), ":")  
  32. h24 = Arr1(0)  
  33. If Arr(0) = "下午" Then 
  34. h24 = h24 + 12  
  35. Else 
  36. If h24 = 12 Then h24 = 0  
  37. End If 
  38. TM = h24 & ":" & Arr1(1) & ":" & Arr1(2)  
  39. End If 
  40. Set objSHELL = CreateObject("Wscript.Shell")  
  41. objSHELL.Run "cmd /cdate " & DT, False, True 
  42. objSHELL.Run "cmd /ctime " & TM, False, True 
  43. Num1 = Abs(DateDiff("s", Now(), BJDate))  
  44. Message = "【校准前】" & vbCrLf _  
  45. "标准北京时间为:" & vbTab & BJDate & vbCrLf _  
  46. "本机系统时间为:" & vbTab & LocalDate & vbCrLf _  
  47. "与标准时间相差:" & vbTab & Abs(Num) & "秒" & vbCrLf & vbCrLf _  
  48. "【校准后】" & vbCrLf _  
  49. "本机系统时间为:" & vbTab & Now() & vbCrLf _  
  50. "与标准时间相差:" & vbTab & Num1 & "秒" 
  51. Set objSHELL = Nothing 
  52. End If 
  53. WScript.Echo Message  

以上所述就是本文的全部内容了,希望对大家学习VBS能够有所帮助。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表