C# 同步工作站与SQL服务器的时间
/// <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服务器的时间的更多相关文章
- windows2003服务器,时间每隔1小时自动同步一次
		
有台服务器的时间总是不对,可能是电池快没电了吧,于是想让它时间保持更新状态,但又不想用第三方软件,在百度上查了一下,还真有方法 HKEY_LOCAL_MACHINE->SYSTEM->Cu ...
 - [EntityFramework] 对 DateTime 类型使用 SQL 服务器时间或者字段默认值
		
DateTime 类型在 SQL 服务器上如果设置了默认值,在 EntityFramework 添加新行的时候想使用该默认值,则不能对新增加的实体的 DateTime 字段赋值. 但是如果新增加的实体 ...
 - 转--Oracle DB 服务器系统时间修改问题与 SCN 关系的深入研究
		
论坛里一个朋友说将DB 服务器系统时间往往后修改了3个月(从11年改成10年),启动DB报600的错误. 一. 先做个测试 1.1 关闭DB SQL> shutdown immediate Da ...
 - 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器
		
网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 网络时钟服务器,NTP授时设备,北斗网络校时服务器,GPS时间同步器 论述当下网络时间同步的重要性 北京华人开创科技发展有限公 ...
 - 解决:错误 14274: 无法添加、更新或删除 SQL 服务器上的作业的问题一例
		
今天在修改 SQL服务器上 以前的作业任务,打算把作业的执行时间修改成新的时间,结果修改好点确定, 结果出现了以下错误! --------------------------- Microsoft ...
 - 通过原生js的ajax或jquery的ajax获取服务器的时间
		
在实际的业务逻辑中,经常是与时间相关的,而前端能获得的时间有两个:客户端的时间,服务器的时间. 客户端时间通过 javascript中的Date对象可以获取,如 var dt = new Date() ...
 - VFP调整本机日期时间与服务器日期时间一致
		
*!*调整本机日期时间与服务器日期时间一致( YYYY-MM-DD HH:MM:SS.FFF )*!*以下cSqlStr及nCon为SQL查询串及连接句柄cSqlStr="Select Sy ...
 - sql服务器第5级事务日志管理的阶梯:完全恢复模式下的日志管理
		
sql服务器第5级事务日志管理的阶梯:完全恢复模式下的日志管理 原文链接http://www.sqlservercentral.com/articles/Stairway+Series/73785/ ...
 - sql 服务器统计信息简介
		
sql服务器统计是包含数据分布信息的系统对象.有时,在正则列值中.统计可以在任何支持比较操作的数据类型上创建,例如 > , < , =等. 列表2-15中,从dbo.books表中查看 I ...
 
随机推荐
- 【个人博客作业Week7】软件工程团队项目一轮迭代感想与反思
			
(发布晚原因:发到团队博客了 一.关于银弹 在佛瑞德·布鲁克斯于1986年发布的<没有银弹:软件工程的本质性与附属性工作>这篇软件工程的经典论文中,作者向我们讲述了软件工程没有银弹这样的理 ...
 - 20135323符运锦----第七周:Linux内核如何装载和启动一个可执行程序
			
可执行程序的装载 一.预处理.编译.链接和目标文件的格式 1.可执行程序是怎么得来的 ①编译器预处理 gcc -E -o XX.cpp XX.c (-m32)// 注:把include的文件包含进来, ...
 - myBatis插件(plugins)
			
MyBatis 允许你在已映射语句执行过程中的某一点进行拦截调用.默认情况下,MyBatis 允许使用插件来拦截的方法调用包括: Executor (update, query, flushState ...
 - 百度地图marker点击任意一个当前的变化,其余的marker不变
			
百度地图marker点击任意一个当前的变化,其余的marker不变 最近做的百度地图,遇到一个问题,就是在for循环里面执行marker的点击事件 没有可以比对的对象,每次点击marker的时候,i都 ...
 - PAT L1-027 出租
			
https://pintia.cn/problem-sets/994805046380707840/problems/994805107638517760 下面是新浪微博上曾经很火的一张图: 一时间网 ...
 - fetch 代替 XMLHttpRequest (json-server 模拟后台接口)
			
一.fetch 是 XMLHttpRequest 的替代方案.说白了就是除了 ajax 获取后台数据之外也可以用fetch 来获取. 二.fetch 的支持性还不是很好.挂载于BOM中可以通过浏览器直 ...
 - 使用node去爬虫
			
let http = require('http'); let https = require('https');//引入node的https服务. let cheerio = require('ch ...
 - linux_目录基本操作
			
ls命令 ls命令用来显示目标列表,在Linux中是使用率较高的命令.ls命令的输出信息可以进行彩色加亮显示,以分区不同类型的文件. 语法 $ ls [选项] [目录] 选项 说明 -a 显示所有档案 ...
 - ArrayMap代码分析
			
Java提供了HashMap,但是HashMap对于手机端而言,对内存的占用太大,所以Android提供了SparseArray和ArrayMap.二者都是基于二分查找,所以数据量大的时候,最坏效率会 ...
 - pandas缺失值处理
			
1.检查缺失值 为了更容易地检测缺失值(以及跨越不同的数组dtype),Pandas提供了isnull()和notnull()函数,它们也是Series和DataFrame对象的方法 - 示例1 im ...