VB获取时间
在机房收费系统中,时间不统一是很麻烦。尤其是时间格式不统一。 在vb机房收费系统中有几种获取时间的方法。 一,使用date和time获取电脑时间,这种事件往往因为人为原因而不统一。当然也有其好处,就是简单。
Print Date; "日期" Print Time; "时间" Print Now; "日期和日间" Print Format(Now,"yyyy年mm月dd日hh时mm分ss秒") Print Year(Now); "年" Print Month(Now); "月" Print Day(Now); "日" Print Hour(Now); "时" Print Minute(Now); "分" Print Second(Now); "秒"
二是。利用网络来获取时间,这种往往是很不方便。要在有网的时候才能使用。听不实际的。用XMLHTTP随机访问一个网站可以获取时间。 (此过程我是借用他人代码,不是很明白,但是方法值得认识一下。不过个人感觉复杂) Dim obj,OBJStatus,Url,GetText,i Dim Retrieval Url = "http://www.163.com" '判断网络是否连接 If Url <> "" Then Set Retrieval =GetObject("winmgmts:.rootcimv2") Set obj =Retrieval.ExecQuery("Select * From Win32_PingStatus Where Address ='" & Mid(Url,8) & "'") For Each OBJStatus In obj If IsNull(OBJStatus.StatusCode) OrOBJStatus.StatusCode <> 0 Then Exit Sub Else Exit For '已连接则继续 End If Next End If
'通过下载网页头信息获取网络时间 Set Retrieval = CreateObject("Microsoft.XMLHTTP") With Retrieval .Open "Get",False,"","" .setRequestHeader"If-Modified-Since","0" .setRequestHeader"Cache-Control","no-cache" .setRequestHeader "Connection","close" .Send If .Readystate <> 4 Then Exit Sub GetText = .getAllResponseHeaders() i = InStr(1,"date:",vbTextCompare) If i > 0 Then '网页下载成功 i = InStr(i,",vbTextCompare) GetText = Trim(Mid(GetText,i + 1)) i = InStr(1,"GMT",vbTextCompare) GetText = Left(GetText,i - 1) MsgBox "网络时间:"& GetText End If MsgBox "网络时间:"& GetText End With Set Retrieval = Nothing Set OBJStatus = Nothing Set obj = Nothing
三,利用winsock控件来获取时间。(窗体上放一个WINSOCK控件)。 编辑WINSOCK控件的DataArrival过程。
四,使用SQL的GetDate函数来获取时间。自定义一个函数。
SqlTime = "select getdate()"
Set MrcTime = ExecuteSQL(SqlTime,MsgTime) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |