获取网络时间、解析xml、截取string

news2025/1/21 0:56:36

很多游戏具有每日登陆奖励功能,为防止玩家修改本地时间,需要读取服务器时间。下面分两部分介绍获取网络时间的两种方法,第一部分解析xml,第二部分截取string。

第一部分:通过国家授时中心链接获得的数据如下:

获取网络时间、解析xml、截取string

01

    <?xml version="1.0" encoding="GB2312" ?>  

02

                - <ntsc> 

03

                - <time> 

04

                  <year>2011</year>  

05

                  <month>7</month>  

06

                  <day>10</day>  

07

                  <Weekday ></Weekday>  

08

                  <hour>19</hour>  

09

                  <minite>45</minite>  

10

                  <second>37</second>  

11

                  <Millisecond ></Millisecond>  

12

                  </time> 

13

                  </ntsc>

然后解析xml获得当前时间,完整代码如下:

01

    using UnityEngine; 

02

    using System.Collections; 

03

    using System.Xml; 

04

05

    /// <summary> 

06

    /// Get web time and parse xml 

07

    /// 获取网络时间/解析xml 

08

    /// </summary> 

09

    public class Test1 : MonoBehaviour 

10

    { 

11

        public string timeURL = "http://www.time.ac.cn/timeflash.asp?user=flash";//授时中心地址 

12

        // Use this for initialization 

13

        void Start() 

14

        { 

15

            StartCoroutine(GetTime()); 

16

        } 

17

18

        IEnumerator GetTime() 

19

        { 

20

            Debug.Log("Start get web time"); 

21

            WWW www = new WWW(timeURL); 

22

            while (!www.isDone) 

23

            { 

24

                Debug.Log("Getting web time"); 

25

                yield return www; 

26

                Debug.Log("Finish getting web time and whole xml is :   " + www.text); 

27

                ParseXml(www); 

28

            } 

29

        } 

30

31

        public void ParseXml(WWW www) 

32

        { 

33

            XmlDocument xmlDoc = new XmlDocument(); 

34

            xmlDoc.LoadXml(www.text); 

35

            XmlElement root = xmlDoc.DocumentElement; 

36

            XmlNodeList nodeList = root.SelectNodes("/ntsc/time"); 

37

            foreach (XmlElement xe in nodeList) 

38

            {  //Unity3D教程手册:www.unitymanual.com

39

                foreach (XmlElement x1 in xe.ChildNodes) 

40

                { 

41

                    if (x1.Name == "year") 

42

                        Debug.Log("Current year:      " + x1.InnerText); 

43

                    if (x1.Name == "month") 

44

                        Debug.Log("Current month:      " + x1.InnerText); 

45

                    if (x1.Name == "day") 

46

                        Debug.Log("Current day:      " + x1.InnerText); 

47

                    if (x1.Name == "hour") 

48

                        Debug.Log("Current hour:      " + x1.InnerText); 

49

                    if (x1.Name == "minite") 

50

                        Debug.Log("Current minite:      " + x1.InnerText); 

51

                    if (x1.Name == "second") 

52

                        Debug.Log("Current second:      " + x1.InnerText); 

53

                } 

54

            } 

55

        } 

56

    } 

获得的网络时间如下:

获取网络时间、解析xml、截取string

第二部分:通过北京时间链接地址获得的数据如下:

1

    t0=new Date().getTime(); nyear=2013; nmonth=6; nday=3; nwday=1; nhrs=16; nmin=57; nsec=29;

然后截取string获得网络时间,具体方法是截取“;”获得年月日...然后截取“=”获得对应的时间.

完整代码如下:

01

     using UnityEngine; 

02

    using System.Collections; 

03

04

    /// <summary> 

05

    /// Get web time and split string 

06

    /// 获取网络时间/截取string 

07

    /// </summary> 

08

    public class Test2 : MonoBehaviour 

09

    { 

10

        public string timeURL = "http://www.beijing-time.org/time.asp";//北京时间地址 

11

        // Use this for initialization 

12

        void Start() 

13

        { 

14

            StartCoroutine(GetTime()); 

15

        } 

16

17

        IEnumerator GetTime() 

18

        { 

19

            Debug.Log("Start get web time"); 

20

            WWW www = new WWW(timeURL); 

21

            while (!www.isDone) 

22

            {  //Unity3D教程手册:www.unitymanual.com

23

                Debug.Log("Getting web time"); 

24

                yield return www; 

25

                Debug.Log("Finish getting web time and whole xml is :   " + www.text); 

26

                SplitString(www); 

27

            } 

28

        } 

29

30

        public void SplitString(WWW www) 

31

        { 

32

            string[] timeData = www.text.Split(';'); 

33

            for (int i = 0; i < timeData.Length; i++) 

34

            { 

35

                string[] exactTime = timeData[i].Split('='); 

36

                foreach (string temp in exactTime) 

37

                    Debug.Log(temp); 

38

            } 

39

        } 

40

    } 

获得的网络时间如下:

获取网络时间、解析xml、截取string

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/47623.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

互联网+医疗解决方案

国家“互联网”行动指导意见&#xff0c;明确“互联网医疗健康”行动路线。 制定“互联网”行动计划&#xff0c;推动移动互联网、云计算、大数据、物联网等与现代制造业结合&#xff0c;促进电子商务、工业互联网和互联网金融健康发展&#xff0c;引导互联网企业拓展国际市场…

麒麟信安携手河南IT联盟召开 《麒麟信安信创应用解决方案》线上分享会

在党政及金融、交通、能源等重要行业的信创应用步伐逐步加快的背景下&#xff0c;各行业均面临着不同程度的国产化落地难题。11月29日下午&#xff0c;麒麟信安与河南省信息协会IT产业分会&#xff08;河南IT联盟&#xff09;携手召开《麒麟信安信创应用解决方案》线上分享会&a…

微信小程序| 做一款可以计算亲戚关系的计算器

&#x1f4cc;个人主页&#xff1a;个人主页 ​&#x1f9c0; 推荐专栏&#xff1a;小程序开发成神之路 --【这是一个为想要入门和进阶小程序开发专门开启的精品专栏&#xff01;从个人到商业的全套开发教程&#xff0c;实打实的干货分享&#xff0c;确定不来看看&#xff1f; …

Spring(Spring的理解+DI+Spring的创建)

目录 1. Spring 是什么 2. DI 3. 面试题: IoC 和 DI 有什么区别? 4. Spring 的创建 5. 将 Bean (对象) 存储到 Spring (容器) 中 6. 将 Bean (对象) 从 Spring (容器) 中取出来 7. 面试题: ApplicationContext 和 BeanFactory的区别 8. getBean 更多用法 1. Spring 是…

能否在虚拟平台里构建真实的生活体验?

接近三年的疫情&#xff0c;重构了每一个人的生活。线下活动的频繁延期、取消&#xff0c;使得物理空间的聚集充满了不确定性&#xff0c;线上办公、网络授课等远程协同的方式在这样的时代背景下&#xff0c;毫无疑问成了主旋律。曾经只停留在想象层面的不出门就能完成工作、上…

u盘打不开常见原因|数据恢复方法|解决方案

u盘作为一种常用的外部存储器&#xff0c;能够帮助我们存放大量的数据&#xff0c;如图片、文档、视频等文件类型。但是在使用过程中&#xff0c;难免会遇到这样或那样的问题&#xff0c;比如使用过程中出现u盘打不开的情况&#xff0c;但是里面又有自己重要的文件&#xff0c;…

数字图像处理(入门篇)一 图像的数字化与表示

目录 1 人眼图像是如何形成的&#xff1f; 2 图像的感知与获取&#xff1f; 3 图像的数字化 4 数字图像的表示 1 人眼图像是如何形成的&#xff1f; 人眼近似为一个球体&#xff0c;物体的光线经过角膜和晶状体的折射&#xff0c;在视网膜上形成“倒立缩小”的实像。 视网膜…

这或许是全网最详细的介绍预言机赛道的视频课程,通俗易通,有趣有料!

图片来源&#xff1a;由无界版图 AI 绘画工具生成有一句话在创业者中很流行&#xff1a;Web3创业三大坑&#xff0c;隐私、跨链、预言机……搞塌加密市场的DK和SBF还在豪华度假酒店里思考人生搞隐私&#xff0c;一毛钱没赚到的Tornado cash开发者却在吃牢饭……加密圈前十大资产…

javascript中的polyfill是什么,polyfill和babel的关系

首先我们看看这个单词的意思 好像也没有解释啥&#xff0c;但是给人的感觉是一种用来补充&#xff0c;优化的东西。 没错在js中也正有这个意思 js中的polyfill用来表示&#xff0c;根据新特性的定义&#xff0c;创建一段与之行为等价&#xff0c;但是能够在旧的js环境中运行的…

如何实现机器人自动拉微信群

如果想长期运营一个微信群&#xff0c;每天手动拉人进群是很痛苦的事情。实际上可以用微信机器人来替代人力&#xff0c;实现过程也并没有想象中的那么困难 引导一下思路 1. 经验分析 如果是手动拉人进群的话&#xff0c;根据我们的日常经验&#xff0c;基本上逻辑是这样的&…

​GENIUS: 根据草稿进行文本生成的预训练模型,可用于多种NLP任务的数据增强...

©PaperWeekly 原创 作者 | 郭必扬 单位 | 上海财经大学信息管理与工程学院AI Lab论文标题&#xff1a;GENIUS: Sketch-based Language Model Pre-training via Extreme and Selective Masking for Text Generation and Augmentation论文作者&#xff1a;Biyang Guo, Yeyu…

赤霉素3β-羟化酶的下调增强了大豆的光合作用并提高了种子产量

文章信息 题目&#xff1a;Downregulation of a gibberellin 3β-hydroxylase enhances photosynthesis and increases seed yield in soybean 刊名&#xff1a;New Phytologist 作者&#xff1a;Fang Huang,Zhixi Tian,Deyue Yu et al. 单位&#xff1a;Nanjing Agricultu…

探讨下如何更好的使用缓存 —— 集中式缓存Redis的BitMap存储、管道与事务、以及与本地缓存一起构建多级缓存

大家好&#xff0c;又见面了。 通过前面的文章&#xff0c;我们一起剖析了Guava Cache、Caffeine、Ehcache等本地缓存框架的原理与使用场景&#xff0c;也一同领略了以Redis为代表的集中式缓存在分布式高并发场景下无可替代的价值。 现在的很多大型高并发系统都是采用的分布式…

Oracle自定义函数实现递归查询(用自定义函数替换connect_by_root)

Oracle自定义函数实现递归查询&#xff08;用自定义函数替换connect_by_root&#xff09;1. 前言2. connect_by_root 和 自定义函数2.1 用 connect_by_root 实现2.2 用 自定义函数实现2.2.1 自定义函数2.2.2 实现效果1. 前言 看这篇文章之前可以先看下面的文章 oracle递归查询&…

B站季报图解:营收58亿净亏收窄36% 日活突破9000万

雷递网 雷建平 11月29日哔哩哔哩股份有限公司&#xff08;简称&#xff1a;“B站”&#xff09;今日发布财报。财报显示&#xff0c;B站2022年第三季营收57.9亿&#xff0c;同比增11%。B站2022年第三季度日均活跃用户数达9030万&#xff0c;月均活跃用户数达3.33亿&#xff0c;…

springboot整合minio

minio是对象存储服务。它基于Apache License 开源协议&#xff0c;兼容Amazon S3云存储接口。适合存储非结构化数据&#xff0c;如图片&#xff0c;音频&#xff0c;视频&#xff0c;日志等。对象文件最大可以达到5TB。 优点有高性能&#xff0c;可扩展&#xff0c;操作简单&a…

招标网站信息爬取

目标网站 某采购与招标网  代码链接code-repo 准备工作 参考博客[1]&#xff0c;使用谷歌浏览器的开发者工具&#xff0c;提取http的表单信息。  http post 中的表单信息&#xff0c;需要含有_qt信息。网站使用_qt做反爬虫措施。_qt由服务器返回&#xff0c;在不同的会话中…

第五站:操作符(终幕)(一些经典的题目)

目录 一、分析下面的代码 二、统计二进制中1的个数 解一&#xff1a;&#xff08;求出每一个二进制位&#xff0c;来统计1的个数&#xff09; 解二&#xff1a;&#xff08;利用左我们移或右移操作符和按位与&#xff09; 解三&#xff1a;&#xff08;效率最高的解法&…

Java中的集合框架

目录 集合体系 Collection - List接口实现类 Collection - List接口对象的遍历 Collection - List - ArrayList Collection - List - Vector Collection - List - LinkedList Collection - Set接口实现类 Collection - Set接口的遍历 Collection - Set - HashSet Has…

哈夫曼压缩算法-Python实现

前面上传了A*算法的实现&#xff0c;就顺便把一起写的哈夫曼压缩也上传了吧 本文主要提供了Python版本的哈夫曼压缩算法实现&#xff0c;并在此基础上提供了命令行和基于Qt的GUI用户界面&#xff08;User Interface&#xff09; 哈夫曼&#xff08;Huffman Encoding&#xff09…