VB获取时间

前端之家收集整理的这篇文章主要介绍了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:\\.\root\cimv2")

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)

猜你在找的VB相关文章