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

方法总结:

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. poj1562--Oil Deposits

    Description The GeoSurvComp geologic survey company is responsible for detecting underground oil dep ...

  2. Tomcat 官网知识总结篇

    Tomcat 官网知识总结一.Tomcat 基本介绍 1.关键目录 a) bin 该目录包含了启动.停止和启动其他的脚本,如startup.sh.shutdown.sh等; b) conf 配置文件和 ...

  3. JQuery 之事件中的 ----- hover 与 onmouseover 、onmouseout 联系

    hover([over,]out) 一个模仿悬停事件(鼠标移动到一个对象上面及移出这个对象)的方法.这是一个自定义的方法,它为频繁使用的任务提供了一种“保持在其中”的状态. 当鼠标移动到一个匹配的元素 ...

  4. 将集合类转换成DataTable

    /// <summary> /// 将集合类转换成DataTale /// </summary> /// <param name="list"> ...

  5. sql server 删除所有表和存储过程

    1.删除外键约束 DECLARE c1 cursor for select 'alter table ['+ object_name(parent_obj) + '] drop constraint ...

  6. iOS系统相册的有关操作

    iOS中,我们选择相册中的资源和调用摄像头可以使用 :UIImagePickerController类来完成,不使用UI我们可以通过:ALAssetsLibrary类来使用相册资源. 一. ALAss ...

  7. (原+转)VS2013:正在从以下位置加载符号

    转载请注明出处: http://www.cnblogs.com/darkknightzh/p/5158020.html 这段时间启动调试时,vs2013加载时间很长很长...然后下面网址给出了解决方法 ...

  8. java程序的10个调试技巧

    参看下面链接:http://www.kuqin.com/java/20120906/330130.html

  9. slave延迟原因及优化方法

    转载叶总:http://imysql.com/2015/04/12/mysql-optimization-case-howto-resolve-slave-delay.shtml 一般而言,slave ...

  10. Mysql MERGE 引擎在分表环境下得使用

    应用场景:当我们在做分表的时候,通常会把一个大表的数据拆分成若干个分表,这也是数据库优化中的分表概念.随着分表随之而来的问题就是多表查询. 现在有 t1,t2 两张数据表,需要满足不同的查询条件同时从 ...