在Unity中实现简单的伪时间同步
在Unity中实现简单的伪时间同步
发布时间:2016-12-28 来源:查字典编辑
摘要:在Unity中实现简单的伪时间同步,只是读取数据库所在电脑的当前时间复制代码代码如下:usingUnityEngine;usingSyste...

在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#教程学习
编程开发子分类