VB.net 获取网络时间

一、首先建立正则表达式

 ''' <summary>
    ''' 正则表达式(ByVal 被检字符, 检索规则 strng)
    ''' </summary>
    ''' <param name="patrn">被检字符</param>
    ''' <param name="strng">检索规则</param>
    ''' <returns>检索到的位置</returns>
    ''' <remarks></remarks>
    Public Function RegExp(ByVal patrn, ByVal strng)

        Dim regEx, Match, Matches, RetStr ' 建立变量。 

        RetStr = Nothing

        regEx = New VBScript_RegExp_55.RegExp    ' 建立正则表达式。      

        regEx.Pattern = patrn   ' 设置模式。        

        regEx.IgnoreCase = True   ' 设置是否区分大小写。       

        regEx.Global = True   ' 设置全局替换。        

        Matches = regEx.Execute(strng) ' 执行搜索。        

        For Each Match In Matches  ' 遍历 Matches 集合。           

            RetStr = Match.Value

        Next

        Return RetStr

    End Function

二、建立一个获取网页源码的函数

''' <summary>
    ''' 获得网页信息(网址 As String) As String
    ''' </summary>
    ''' <param name="strURL">网址</param>
    ''' <returns>获得网页信息</returns>
    ''' <remarks></remarks>

    Public Function GetWebText(strURL As String) As String

        On Error Resume Next

        Dim url As String = strURL

        Dim httpReq As System.Net.HttpWebRequest

        httpReq.ServicePoint.ConnectionLimit = 255

        Dim httpResp As System.Net.HttpWebResponse

        Dim httpURL As New System.Uri(url)

        httpReq = CType(Net.HttpWebRequest.Create(httpURL), Net.HttpWebRequest)

        httpReq.Method = "GET"

        httpResp = CType(httpReq.GetResponse(), Net.HttpWebResponse)

        httpReq.KeepAlive = False ' 获取或设置一个值,该值指示是否与Internet资源建立持久连接。

        Dim reader As IO.StreamReader = New IO.StreamReader(httpResp.GetResponseStream, System.Text.Encoding.GetEncoding("GB2312"))    '用GB2312字符

        Dim respHTML As String = reader.ReadToEnd() 'respHTML就是网页源代码 

        Dim myip As String = ""

        Dim myPort = ""

        httpResp.Close()

        If respHTML <> "" Then

            url = ""

            myip = ""

            myPort = ""

        End If

        Return respHTML

    End Function

三、建立获取网络时间的函数

   '获得网络时间
    ''' <summary>
    ''' 网络时间()
    ''' </summary>
    ''' <param name="Style">定义时间格式</param>
    ''' <returns>网络时间</returns>
    ''' <remarks></remarks>

    Function GetWebTime(Optional Style As Microsoft.VisualBasic.DateFormat = Nothing) As String

        Dim WebText = GetWebText("http://open.baidu.com/special/time/")'从百度的北京时间获取页面源码
       
        Dim regexp As New RegularExpressions

        Dim WebTimes As String = RegExp("[0-9]{13}", WebText)'获取源码中时间信息

        Dim WebTime As Date = #1/1/1970 8:00:00 AM#'定义初始时间

        WebTime = DateAdd(DateInterval.Second, WebTimes / 1000, WebTime)'换算成现在的时间

        If Style = Nothing Then'根据时间格式参数返回不同格式的时间信息

            Return WebTime

        Else

            Return Format(WebTime, Style)

        End If

    End Function



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值