C# 取得网络上的时间

net(C#) 取得网络上的时间

public static DateTime DataStandardTime()
        {//返回国际标准时间
            //只使用的时间服务器的IP地址,未使用域名
            string[,] 时间服务器=new string [14,2];
            int[] 搜索顺序=new int []{3,2,4,8,9,6,11,5,10,0,1,7,12};
             时间服务器[0,0]="time-a.nist.gov";
             时间服务器[0,1]="129.6.15.28";
             时间服务器[1,0]="time-b.nist.gov";
             时间服务器[1,1]="129.6.15.29";
             时间服务器[2,0]="time-a.timefreq.bldrdoc.gov";
             时间服务器[2,1]="132.163.4.101";
             时间服务器[3,0]="time-b.timefreq.bldrdoc.gov";
             时间服务器[3,1]="132.163.4.102";
             时间服务器[4,0]="time-c.timefreq.bldrdoc.gov";
             时间服务器[4,1]="132.163.4.103";
             时间服务器[5,0]="utcnist.colorado.edu";
             时间服务器[5,1]="128.138.140.44";
             时间服务器[6,0]="time.nist.gov";
             时间服务器[6,1]="192.43.244.18";
             时间服务器[7,0]="time-nw.nist.gov";
             时间服务器[7,1]="131.107.1.10";
             时间服务器[8,0]="nist1.symmetricom.com";
             时间服务器[8,1]="69.25.96.13";
             时间服务器[9,0]="nist1-dc.glassey.com";
             时间服务器[9,1]="216.200.93.8";
             时间服务器[10,0]="nist1-ny.glassey.com";
             时间服务器[10,1]="208.184.49.9";
             时间服务器[11,0]="nist1-sj.glassey.com";
             时间服务器[11,1]="207.126.98.204";
             时间服务器[12,0]="nist1.aol-ca.truetime.com";
             时间服务器[12,1]="207.200.81.113";
             时间服务器[13,0]="nist1.aol-va.truetime.com";
             时间服务器[13,1]="64.236.96.53";
            int portNum=13;
            string hostName;
            byte[] bytes=new byte [1024];
            int bytesRead=0;
             System.Net.Sockets .TcpClient client=new System.Net.Sockets.TcpClient ();
            for (int i=0;i<13;i++)
            {
                 hostName=时间服务器[搜索顺序[i],1];
                try
                {
                     client.Connect (hostName,portNum);
                     System.Net .Sockets .NetworkStream ns=client.GetStream ();
                     bytesRead=ns.Read (bytes,0,bytes.Length );
                     client.Close ();
                    break;
                 }
                catch (System.Exception )
                {
                 }
             }
            char[] sp=new char [1];
             sp[0]=' ';
             System.DateTime dt=new DateTime ();
            string str1;
             str1=System.Text .Encoding .ASCII .GetString (bytes,0,bytesRead);
           
            string[] s;
             s=str1.Split (sp);
             dt=System.DateTime .Parse (s[1]+" "+s[2]);//得到标准时间
            //dt=dt.AddHours (8);//得到北京时间*/
            return dt;
           
         }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值