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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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;

}

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

除声明外,跑步客文章均为原创,转载请以链接形式标明本文地址
  在Unity中实现简单的伪时间同步

本文地址:  http://www.paobuke.com/develop/c-develop/pbk23113.html






相关内容































































































































以上是关于在Unity中实现简单的伪时间同步的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Java 中实现同步方法超时?

在同步对象中实现异步接口

有没有办法在locust中实现用户同步?

如何在Unity中实现AStar寻路算法及地图编辑器

关于Winform下DataGridView中实现checkbox全选反选同步列表项的处理

node.js中实现同步操作的3种实现方法