在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#遍历文件夹及其子目录的完整实现方法

    C#遍历文件夹及其子目录的完整实现方法

    这篇文章主要介绍了C#遍历文件夹及其子目录的方法,涉及C#文件与目录的基本操作技巧,简单实用,具有一定参考借鉴价值,需要的朋友可以参考下
    2016-06-06
  • C# 泛型接口的抗变和协变

    C# 泛型接口的抗变和协变

    本篇文章主要介绍了C#中泛型接口的抗变和协变的相关知识。具有很好的参考价值,下面跟着小编一起来看下吧
    2017-03-03
  • C#实现图形区域组合操作的方法

    C#实现图形区域组合操作的方法

    这篇文章主要介绍了C#实现图形区域组合操作的方法,涉及C#操作图片实现组合操作的相关技巧,需要的朋友可以参考下
    2015-06-06
  • DOTNETBAR制作圆角窗体和圆角控件代码实例

    DOTNETBAR制作圆角窗体和圆角控件代码实例

    这篇文章主要介绍了DOTNETBAR制作圆角窗体和圆角控件的方法,大家参考使用吧
    2013-11-11
  • C#中类与接口的区别个人总结

    C#中类与接口的区别个人总结

    这篇文章主要介绍了C#中类与接口的区别个人总结,本文讲解了类与接口的区别、接口的用处主要体现在下面几个方面、一些接口的疑问等内容,需要的朋友可以参考下
    2015-06-06
  • c#批量上传图片到服务器示例分享

    c#批量上传图片到服务器示例分享

    这篇文章主要介绍了c#批量上传图片到服务器示例,服务器端需要设置图片存储的虚拟目录,需要的朋友可以参考下
    2014-03-03
  • C#设计模式之单例模式实例讲解

    C#设计模式之单例模式实例讲解

    这篇文章主要介绍了C#设计模式之单例模式实例讲解,本文讲解了单例模式的定义、单例模式的优缺点,需要的朋友可以参考下
    2014-10-10
  • C#多线程及同步示例简析

    C#多线程及同步示例简析

    这篇文章主要为大家详细介绍了C#多线程及同步示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-08-08
  • 浅谈C#数组(一)

    浅谈C#数组(一)

    本篇文章小编要得大家介绍的是C#数组,数组是一种数据结构,它可以包含同一个类型的多个元素,如果需要使用同一类型的多个对象,可以使用数组和集合,需要的朋友可以参考下面文章的具体内容
    2021-09-09
  • C#使用kernel32.dll读写INI文件的案例详解

    C#使用kernel32.dll读写INI文件的案例详解

    INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打开,主要存放的是用户所做的选择或系统的各种参数,这篇文章主要介绍了C#使用kernel32.dll读写INI文件的方法,需要的朋友可以参考下
    2023-05-05

最新评论