返回顶部

收藏

C#简单代码从网络同步标准北京时间

更多
#region
    /// <summary>        
    /// 获取标准北京时间     
    /// /// </summary>       
    /// /// <returns></returns>     
    /// 
     public static DateTime GetStandardTime()      
    {           
    /// //<?xml version="1.0" encoding="GB2312" ?>             
    //- <ntsc>            
    //- <time>           
    //  <year>2013</year>        
    //  <month>8</month>        
    //  <day>29</day>          
    //  <Weekday />   
    //  <hour>16</hour>        
    //  <minite>29</minite>        
    //  <second>12</second>         
    //  <Millisecond />        
    //  </time>         
    //  </ntsc>         
    DateTime dt;        
    WebRequest wrt = null;       
    WebResponse wrp = null;       
    try      
{              
    wrt = WebRequest.Create("http://www.time.ac.cn/timeflash.asp?user=flash");   
    wrt.Credentials = CredentialCache.DefaultCredentials;                
        wrp = wrt.GetResponse();            
        StreamReader sr = new StreamReader(wrp.GetResponseStream(), Encoding.UTF8);          
        string html = sr.ReadToEnd();        
        sr.Close();          
        wrp.Close();         
        int yearIndex = html.IndexOf("<year>") + 6;         
        int monthIndex = html.IndexOf("<month>") + 7;          
        int dayIndex = html.IndexOf("<day>") + 5;         
        int hourIndex = html.IndexOf("<hour>") + 6;          
        int miniteIndex = html.IndexOf("<minite>") + 8;             
        int secondIndex = html.IndexOf("<second>") + 8;              
        string year = html.Substring(yearIndex, html.IndexOf("</year>") - yearIndex);       
        string month = html.Substring(monthIndex, html.IndexOf("</month>") - monthIndex); ;              
        string day = html.Substring(dayIndex, html.IndexOf("</day>") - dayIndex);        
        string hour = html.Substring(hourIndex, html.IndexOf("</hour>") - hourIndex);        
        string minite = html.Substring(miniteIndex, html.IndexOf("</minite>") - miniteIndex);      
        string second = html.Substring(secondIndex, html.IndexOf("</second>") - secondIndex);    
        dt = DateTime.Parse(year + "-" + month + "-" + day + " " + hour + ":" + minite + ":" + second);       
    }            
    catch (WebException)      
    {           
        return DateTime.Parse("2013-1-1");   
    }           
    catch (Exception)      
    {           
        return DateTime.Parse("2013-1-1");    
    }           
    finally    
    {            
        if (wrp != null)            
            wrp.Close();         
        if (wrt != null)          
            wrt.Abort();      
    }          
         return dt;    
     }
    #endregion
//该片段来自于http://outofmemory.cn

标签:c#,.net,网络

收藏

0人收藏

支持

0

反对

0

发表评论