C#获取网络时间(初学者)

       众所周知,许多游戏有每日登陆奖励,这里涉及到了时间,在联网的的情况下优先获取网络时间,在不联网的情况下只能获取本地时间了,但是本地时间可能容易会被修改,这是弊端。这里学习尝试获取网络时间。

获取网络时间一般会遇到时间戳的概念,时间戳:通俗的说是一串记录某一时刻的数字序列,这串数字是格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。

获取网络时间,首先需要一些网站或者服务器上的标准时间,比如北京时间,百度,中国科学院国家授时中心;这里笔者为了获取方便用的是http://www.hko.gov.hk/cgi-bin/gts/time5a.pr?a=1


从图上可以看出,直接取第三个到最后一个即可获得时间戳,而不需要像其他网页只有抠出网页源码中的时间那么麻烦。

C#获取网络时间:

        WWW www = new WWW("http://www.hko.gov.hk/cgi-bin/gts/time5a.pr?a=1");
        yield return www;
        if (www.text != null)
        {
            string TimeString = www.text;
            string time = TimeString.Substring(2);//截取从第三个到最后一个
            System.DateTime dtStart = System.TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
            long lTime = long.Parse(time);
            System.TimeSpan toNow = new System.TimeSpan(lTime);
            System.DateTime timeNow_FromNet = dtStart.Add(toNow);
获取本地时间就更简单了:

System.DateTime timeNow_FromLocal = System.DateTime.Now;
初学者有错误的地方还请多指教,相互交流共同进步!


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值