在Unity中实现简单的伪时间同步
作者:hebedich 发布时间:2023-09-11 03:40:46
标签: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;
}


猜你喜欢
- 好久没有写过博客了,最近因项目需求,需要用到Socket来进行通信,简单写了几个例子,记录一下,代码很简单,无非就是接收与发送,以及接收到数
- session简介做过Web开发的程序员应该对Session都比较熟悉,Session是一块保存在服务器端的内存空间,一般用于保存用户的会话
- asp.net页面中如何获取Excel表的内容,具体内容介绍如下所示:首先引用组件和命名空间using Microsoft.Office.I
- 本文实例为大家分享了Android日历控件的使用方法,供大家参考,具体内容如下MainActivity.java代码:package sis
- 本文实例讲述了linux环境下java程序打包成简单的hello world输出jar包。分享给大家供大家参考,具体如下:1. linux必
- 最近 IDEA 2020最后一个版本发布了 ,已经内置了Lombok插件,SpringBoot 2.1.x之后的版本也在Starter中内置
- 在上一篇文章:Flutter进阶—实现动画效果(二)的最后,我们实现了一个控件,其中包含各种布局和状态处理控件。以及使用自定义的动画感知绘图
- 一、Flutter代码的启动起点我们在多数的业务场景下,使用的都是FlutterActivity、FlutterFragment。在在背后,
- 在有向图中,边是单向的:每条边连接的两个顶点都是一个有序对,它们的邻接性是单向的。许多应用都是天然的有向图,如下图。为实现添加这种单向性的限
- 前言Spring内置的工具类里,最喜欢用的就是文件读写这一部分,虽然原生的写法也没几句,但是就是懒,不想循环、判断什么的,直接调用现成的静态
- 本文实例为大家分享了C#实现图表中鼠标移动并显示数据的具体代码,供大家参考,具体内容如下效果图:1.首先在页面上添加一个label控件并 默
- 前言使用基于TCP 协议的双向通信时,网络中的两个应用程序之间必须首先建立一个连接,这两个程序通过一个双向的通信连接实现数据的交换,这个连接
- Java Config 下的Spring Test方式用了三种方式:1.纯手动取bean:package com.wang.test;imp
- 本文实例为大家分享了Java网络编程TCP实现文件上传的具体代码,供大家参考,具体内容如下上一篇博客,用网络编程TCP 实现聊天,这次实现文
- Android开发中,难免会遇到需要加解密一些数据内容存到本地文件、或者通过网络传输到其他服务器和设备的问题,但并不是使用了加密就绝对安全了
- 本文实例讲述了Android AutoCompleteTextView控件基本用法。分享给大家供大家参考,具体如下:当输入部分内容之后会有相
- 本文实例为大家分享了Android开发之自定义闹钟实现,供大家参考,具体内容如下闹钟时间设置及显示闹钟的布局很简单,就是一个简单时间设置,所
- 本文给大家介绍的是监听Fragment的触摸事件实现。如果大家有更好的机制,可以留言交流,下面来看看详细的介绍:大家都知道,我们的activ
- 背景环境需要设置代理才能够访问外部网络,如果只是运行java程序来访问网络,我们可以通过java -jar test.jar -Dproxy
- Springboot导入本地jar后 打包依赖无法加入1.本地jar包2.pom文件添加自定义jar包导入<!--自定义jar--&g