在Unity中实现简单的伪时间同步

 更新时间:2015年03月11日 16:42:04   投稿:hebedich  
这篇文章主要介绍了在Unity中实现简单的伪时间同步,为什么说是伪同步呢,因为仅仅是获取的数据库所在服务器的系统时间,分享给大家,有需要的小伙伴可以参考下

在Unity中实现简单的伪时间同步,只是读取数据库所在电脑的当前时间

复制代码 代码如下:

using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
using System.Data;
using System.Data.SqlClient;
public class ChangeTime
{
    //Kernel32.dll在32位系统和64位系统有区别,64位系统中需要设置为以管理员身份运行
    [DllImport("Kernel32.dll",SetLastError=true,EntryPoint="SetLocalTime")]
    static extern int SetLocalTime(ref SystemDateTime lpSystemDateTime);
    public static string GetCurrentTimeFromDB()
    {
        string result = "";
        //从数据库中获取系统当前时间
        //设置连接字符串
        SqlConnection con = new SqlConnection ("Data Source=192.168.0.1;Initial Catalog=DB;User ID=sa;password=123456");
        SqlCommand cmd = new SqlCommand ();
        cmd.Connection = con;
        cmd.CommandType = System.Data.CommandType.Text;
        //设置连接语句
        cmd.CommandText = "select getdate()";
        SqlDataAdapter sda = new SqlDataAdapter(cmd);
        //开启
        sda.SelectCommand.Connection.Open();
        result = sda.SelectCommand.ExecuteScalar().ToString();
        //关闭
        sda.SelectCommand.Connection.Close();
        return result;
    }
    public static void SetLocalDae(string dateTime)
    {
        System.DateTime date = System.DateTime.Parse(dateTime);
        SystemDateTime sysNew = new SystemDateTime();
        //设置属性
        sysNew.tYear = short.Parse(date.Year.ToString());
        sysNew.tMonth = short.Parse(date.Month.ToString());
        sysNew.tDay = short.Parse(date.Day.ToString());
        sysNew.tHour = short.Parse(date.Hour.ToString());
        sysNew.tMinute = short.Parse(date.Minute.ToString());
        sysNew.tSecond = short.Parse(date.Second.ToString());
        //调用API,更新系统时间
        SetLocalTime(ref sysNew);
    }
}
/// <summary>
/// 定义变量用于接收
/// </summary>
public class SystemDateTime
{
    public short tYear;
    public short tMonth;
    public short tDayOfWeek;
    public short tDay;
    public short tHour;
    public short tMinute;
    public short tSecond;
    public short tMilliseconds;
}

以上就是本文所述的全部内容了,希望大家能够喜欢。

相关文章

  • C#使用NPOI导出Excel类封装

    C#使用NPOI导出Excel类封装

    这篇文章主要为大家详细介绍了C#使用NPOI导出Excel类封装,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • C#中的问号(?号)用法小结

    C#中的问号(?号)用法小结

    这篇文章主要介绍了C#中的问号(?号)用法小结,本文介绍了3种用法,分别作为修饰符、运算符的用法,需要的朋友可以参考下
    2014-07-07
  • C#实现Word转换TXT的方法详解

    C#实现Word转换TXT的方法详解

    这篇文章主要为大家详细介绍了如何利用C#实现Word转换TXT的功能,文中的示例代码讲解详细,对我们学习C#有一定的帮助,感兴趣的小伙伴可以跟随小编一起了解一下
    2022-12-12
  • C#实现让ListBox适应最大Item宽度的方法

    C#实现让ListBox适应最大Item宽度的方法

    这篇文章主要介绍了C#实现让ListBox适应最大Item宽度的方法,涉及ListBox控件的操作技巧,需要的朋友可以参考下
    2015-05-05
  • 深入了解c# 匿名类型

    深入了解c# 匿名类型

    这篇文章主要介绍了c# 匿名类型的相关资料,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • C#数据结构与算法揭秘三 链表

    C#数据结构与算法揭秘三 链表

    这节我们讨论链表的基本操作,并且画图以证明,下届中我们将讨论双向链表,环形链表 应用举例
    2012-11-11
  • UnityShader3实现2D描边效果

    UnityShader3实现2D描边效果

    这篇文章主要为大家详细介绍了UnityShader3实现2D描边效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-02-02
  • LINQ排序操作符用法

    LINQ排序操作符用法

    这篇文章介绍了LINQ排序操作符的用法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-02-02
  • C#中IEnumerable、ICollection、IList、List之间的区别

    C#中IEnumerable、ICollection、IList、List之间的区别

    IEnumerable、ICollection、IList、List之间的区别,本文分别分析了它的实现源码,从而总结出了它们之间的关系和不同之处。对C# IEnumerable、ICollection、IList、List相关知识,感兴趣的朋友一起看看吧
    2021-07-07
  • 如何随机选取一个机器的ip

    如何随机选取一个机器的ip

    此方法可用于当需要负载均衡时,即想选择多台机器来处理程序执行。 随机的选择一台机器来处理。
    2013-03-03

最新评论