/// <summary>
/// 设置本机时间
/// </summary>
public class LocalTimeSync
{
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime(ref SystemTime sysTime); [DllImport("Kernel32.dll")]
public static extern void GetSystemTime(ref SystemTime sysTime); [StructLayout(LayoutKind.Sequential)]
public struct SystemTime
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort wHour;
public ushort wMinute;
public ushort wSecond;
public ushort wMiliseconds;
}
/// <summary>
/// 设置本机时间
/// </summary>
public static void SyncTime(DateTime currentTime)
{
SystemTime sysTime = new SystemTime();
sysTime.wYear = Convert.ToUInt16(currentTime.Year);
sysTime.wMonth = Convert.ToUInt16(currentTime.Month);
sysTime.wDay = Convert.ToUInt16(currentTime.Day);
sysTime.wDayOfWeek = Convert.ToUInt16(currentTime.DayOfWeek);
sysTime.wMinute = Convert.ToUInt16(currentTime.Minute);
sysTime.wSecond = Convert.ToUInt16(currentTime.Second);
sysTime.wMiliseconds = Convert.ToUInt16(currentTime.Millisecond); //处理北京时间
int nBeijingHour = currentTime.Hour - 8;
if (nBeijingHour <= 0)
{
nBeijingHour = 24;
sysTime.wDay = Convert.ToUInt16(currentTime.Day - 1);
//sysTime.wDayOfWeek = Convert.ToUInt16(current.DayOfWeek - 1);
}
else
{
sysTime.wDay = Convert.ToUInt16(currentTime.Day);
sysTime.wDayOfWeek = Convert.ToUInt16(currentTime.DayOfWeek);
}
sysTime.wHour = Convert.ToUInt16(nBeijingHour); SetSystemTime(ref sysTime);//设置本机时间
}
}
/// <summary>
/// 同步服务器时间
/// </summary>
public void SyncServerTime()
{
string sql = "SELECT GETDATE()";
object o = DataProvider.Instance.ExecuteScalar(Globals.DEF_ATTEND_SYSTEM_DB, sql);
DateTime dt = ConvertEx.ToDateTimeEx(o);
//LocalTimeSync.SyncTime(dt); //比较时间一致性
if (ConvertEx.ToCharYYYYMMDDHHMM(DateTime.Now) != ConvertEx.ToCharYYYYMMDDHHMM(dt))
LocalTimeSync.SyncTime(dt);//同步服务器的时间
}

C# 同步工作站与SQL服务器的时间的更多相关文章

  1. windows2003服务器,时间每隔1小时自动同步一次

    有台服务器的时间总是不对,可能是电池快没电了吧,于是想让它时间保持更新状态,但又不想用第三方软件,在百度上查了一下,还真有方法 HKEY_LOCAL_MACHINE->SYSTEM->Cu ...

  2. [EntityFramework] 对 DateTime 类型使用 SQL 服务器时间或者字段默认值

    DateTime 类型在 SQL 服务器上如果设置了默认值,在 EntityFramework 添加新行的时候想使用该默认值,则不能对新增加的实体的 DateTime 字段赋值. 但是如果新增加的实体 ...

  3. 转--Oracle DB 服务器系统时间修改问题与 SCN 关系的深入研究

    论坛里一个朋友说将DB 服务器系统时间往往后修改了3个月(从11年改成10年),启动DB报600的错误. 一. 先做个测试 1.1 关闭DB SQL> shutdown immediate Da ...

  4. 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器

    网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 论述当下网络时间同步的重要性   北京华人开创科技发展有限公 ...

  5. 解决:错误 14274: 无法添加、更新或删除 SQL 服务器上的作业的问题一例

      今天在修改 SQL服务器上 以前的作业任务,打算把作业的执行时间修改成新的时间,结果修改好点确定, 结果出现了以下错误! --------------------------- Microsoft ...

  6. 通过原生js的ajax或jquery的ajax获取服务器的时间

    在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间. 客户端时间通过 javascript中的Date对象可以获取,如 var dt = new Date() ...

  7. VFP调整本机日期时间与服务器日期时间一致

    *!*调整本机日期时间与服务器日期时间一致( YYYY-MM-DD HH:MM:SS.FFF )*!*以下cSqlStr及nCon为SQL查询串及连接句柄cSqlStr="Select Sy ...

  8. sql服务器第5级事务日志管理的阶梯:完全恢复模式下的日志管理

    sql服务器第5级事务日志管理的阶梯:完全恢复模式下的日志管理 原文链接http://www.sqlservercentral.com/articles/Stairway+Series/73785/ ...

  9. sql 服务器统计信息简介

    sql服务器统计是包含数据分布信息的系统对象.有时,在正则列值中.统计可以在任何支持比较操作的数据类型上创建,例如 > , < , =等. 列表2-15中,从dbo.books表中查看 I ...

随机推荐

  1. ResultSet集合查询字段名称(转载)

    转自:https://blog.csdn.net/song_litao/article/details/84751351 public List<String> getColumnName ...

  2. 第三个Sprint ------第十天

    上传到Github github 地址:https://github.com/be821/MyCat 百度云盘: 链接: http://pan.baidu.com/s/1hrxL6lu 密码: k9t ...

  3. 第二个spring, 第7天

    陈志棚:成绩的统筹 李天麟:界面音乐 徐侃:代码算法 代码初步已经完成.还差最后一步整合.附上最后一张截图

  4. 第三个spring冲刺第2天

    今天我们有了计时功能的实现,并且在考虑如何使得计时器美观好看达到我们的要求,对此我们换了不同的背景,时钟框,效果还有待查看.

  5. shell脚本第一课

    shell脚本的文件名一般是以.sh结尾,也可以以其他格式如.txt,甚至不加后缀. 脚本的第一行的#!/bin/bash表示指定脚本执行时的解析器. #!/bin/bash #文件名:test.sh ...

  6. 通过JDOM实现XML与String的相互转换

    利用JDOM实现XML与String之间的相互转换: package com.util.xml; import java.io.ByteArrayOutputStream; import java.i ...

  7. ping命令返回的TTL值判断操作系统

    通过简单的ping命令,查看返回的TTL值来判断对方的操作系统 生存时间(TTL)是IP分组中的一个值,网络中的路由器通过察看这个值就可以判断这个IP分组是不是已经在网络中停留了很久,进而决定是否要将 ...

  8. [cnbeta]华为值多少钱,全世界非上市公司中估值最高的巨头

    华为值多少钱,全世界非上市公司中估值最高的巨头 https://www.cnbeta.com/articles/tech/808203.htm   小米.美团都曾表达过不想.不急于上市,但没人信,所以 ...

  9. delphi创建动态菜单

    1.动态生成菜单项 varFirstItem: TMenuItem;SecondItem: TMenuItem; begin FirstItem := TMenuItem.Create(Self); ...

  10. VS2017+WIN10自动生成类、接口的说明(修改类模板的方法)

    微软发布VS2017的时候,我第一时间离线一份专业版,安装到了自己的电脑上,开始体验,但是问题来了,在开发中建立类和接口的时候,说 明注释总要自己写一次,烦!~~于是还是像以前一样改IDE默认的类和接 ...