在写每日签到的时候,我居然使用的是本地时间...被项目经理笑哭了。。。。, 如果你在写单机游戏,没有游戏服务器,但又不想使用本地时间,就可以采用下面方法.

方法总结:

1. 使用HTTP请求获取服务器时间,不能实时获取服务器时间这样高频率的

2. 使用socket可以实时获取服务器时间

3. 使用C#自带API获取sql server 标准北京时间(=。=还没有找到这个API)

第HTTP方式:

代码:

using UnityEngine;
using System.Collections;
using System.Timers;
using System;
using System.Text.RegularExpressions; public class Test : MonoBehaviour { private string url = "http://www.beijing-time.org/time.asp"; //免费获取背景时间的Wbe 接口
private string time = string.Empty; void OnGUI()
{
if(GUI.Button(new Rect(0,0,100,100),"获取北京时间"))
{
StartCoroutine(GetTime());
} GUI.Label(new Rect(0, 100, 300, 300), "时间:" + time);
} IEnumerator GetTime()
{
Debug.Log("开始请求服务器");
WWW www = new WWW(url);
yield return www; //在这里阻塞,等待响应之后返回
if (www.isDone && string.IsNullOrEmpty(www.error))
{
SpliitString(www);
}
} public void SpliitString(WWW www)
{
//使用正则表达式匹配
string patten = @"[0-9]{1,};";
Regex regex = new Regex(patten);
MatchCollection result = regex.Matches(www.text);
//组织时间
time = string.Format("{0}-{1}-{2} {3}:{4}:{5}"
, result[0].Value.TrimEnd(';')
, result[1].Value.TrimEnd(';')
, result[2].Value.TrimEnd(';')
, result[4].Value.TrimEnd(';')
, result[5].Value.TrimEnd(';')
, result[6].Value.TrimEnd(';')
); Debug.Log("北京时间:" + time);
} }

原文地址: http://www.chengxuyuans.com/Android/63647.html

Unity 获取服务器时间 HTTP请求方式的更多相关文章

  1. JS实现Ajax---例:获取服务器时间

    Ajax在本质上是一个浏览器端的技术 XMLHttpRequest XMLHttpRequest对象 XMLHttpRequest对象在IE浏览器和非IE浏览器中创建的方法不同. 简而言之:它可以异步 ...

  2. Javascript获取服务器时间

    //获取服务器时间 var getServerDate = function () {     var xmlHttpRequest = null,     serverDate = new Date ...

  3. php获取服务器时间的代码

    php获取服务器时间的代码. 用php的date函数即可来获取服务器上的时间:  <?php //将时区设置为中国 date_default_timezone_set("PRC&quo ...

  4. JS获取服务器时间并且计算距离当前指定时间差的函数

    项目中遇到了从服务器获取时间,现在记录一下方便以后查询: 1.后台代码:(创建一个date对象并以JSON的形式返回去) // 获取服务器时间 public String getNowServerTi ...

  5. JS 中获取服务器时间的注意点

    在通过js获取服务器时间时,遇到了小小的问题,但造成的影响挺大的,所以写出来提醒大家,在获取服务器时间时一定要细心要多测试多验证. js 中使用以下方法获取服务器时间时要注意两点: 1.xhr.ope ...

  6. JS中new Date()用法及获取服务器时间

    1.获取服务器时间: var now = new Date($.ajax({async: false}).getResponseHeader("Date")); 2.new Dat ...

  7. JavaScript or JQuery 获取服务器时间

    用js做时间校正,获取本机时间,是存在bug的. 使用js也可获取到服务器时间,原理是使用 ajax请求,返回的头部信息就含有服务器端的时间信息,获取到就可以了(有的IE下扔不会正常获取,还是更建议走 ...

  8. 获取服务器时间ajax

    $.ajax({ type:"OPTIONS", url:"/", complete:function(x){ // alert(x.getResponseHe ...

  9. 使用javascript获取服务器时间

    思路:采用异步请求的方式,发送请求,获取HTTP请求的response头,头部中包含时间,使用getResponseHeader('Date')即可. 注意:以下任何一种方法都不精确,因为请求包的传输 ...

随机推荐

  1. mysql 编码设置

    (windows下) 打开C:\Program Files\MySQL\MySQL Server 5.0\my.ini (ubuntu下) 打开 /etc/mysql/my.cnf 在[client] ...

  2. Unity 白猫操作小实例

    最近师兄找我说白猫的操作如何做,  0.0 结果白猫没有android的客户端玩不了,看了下视频介绍就简单做了下 效果图:   核心代码: using UnityEngine; using Syste ...

  3. uva11624 - Fire!

    uva11624 - Fire! 火在蔓延,人在走.火会蔓延,不会熄灭,我们可以确定某个点着火的时间(广搜).对于J来说,要是他走到某点的时间比火蔓延到该点的时间要短,那么他走到该点的时候,火还没蔓延 ...

  4. linux经常使用命令:打包、复制等

    备份文件 tar -cf /home/app20140703bak.tar /home/app/uat/test.war 拷贝文件到目标目录 例示: cp -af /app/wasapp/appnam ...

  5. 2014 (多校)1011 ZCC Loves Codefires

    自从做了多校,整个人都不好了,老是被高中生就算了,题老是都不懂=-=原谅我是个菜鸟,原谅我智力不行.唯一的水题. Problem Description Though ZCC has many Fan ...

  6. android面试题之四

    十六.Android中Dalvik和JVM的区别是什么? 1. Dalvik基于寄存器,而JVM基于栈.基于寄存器的虚拟机对于更大的程序来说,在它们编译的时候,花费的时间更短. 2. Dalvik负责 ...

  7. 33c3-pwn350-tea

    TEA 感觉这个题目出得很不错.先运行程序了解基本功能,程序可以读取对系统上存在的文件的内容,如果文件不存在的话,直接退出. 使用IDA打开后,发现父进程通过clone api克隆出一个子进程,主要的 ...

  8. NuGet学习笔记(2)——使用图形化界面打包自己的类库(转)

    上文NuGet学习笔记(1) 初识NuGet及快速安装使用说到NuGet相对于我们最重要的功能是能够搭建自己的NuGet服务器,实现公司内部类库的轻松共享更新.在安装好NuGet扩展后,我们已经能够通 ...

  9. HTML与CSS入门——第二章 发布Web内容

    知识点: 1.使用文本编辑器创建一个基本的HTML文件的方法 2.使用FTP将文件传送到你的Web服务器的方法 3.文件在Web服务器上应该存储的位置 4.在没有Web服务器的情况下分发Web内容的方 ...

  10. 练习使用jquery.并将验证强度的功能加到注册页面中