随笔 - 3  文章 - 0  评论 - 0  阅读 - 3105

c# 修改系统本地时间

/// <summary>
 ///系统时间类
 /// </summary>
 [ StructLayout( LayoutKind.Sequential )]
 public class SystemTime
 {
  public ushort year;
  public ushort month;
  public ushort dayofweek;
  public ushort day;
  public ushort hour;
  public ushort minute;
  public ushort second;
  public ushort milliseconds;
 }

 /// <summary>
 /// Windows API方法
 /// </summary>
 public class WinAPI
 {
  [ DllImport( "Kernel32.dll" )]
  private static extern Boolean SetSystemTime([In,Out] SystemTime st);

  /// <summary>
  /// 设置系统时间
  /// </summary>
  /// <param name="newdatetime">新时间</param>
  /// <returns></returns>
  public static bool SetSysTime(DateTime newdatetime)
  {
   SystemTime st = new SystemTime();
   st.year    = Convert.ToUInt16(newdatetime.Year);
   st.month   = Convert.ToUInt16(newdatetime.Month);
   st.day    = Convert.ToUInt16(newdatetime.Day);
   st.dayofweek  = Convert.ToUInt16(newdatetime.DayOfWeek);
   st.hour    = Convert.ToUInt16(newdatetime.Hour - TimeZone.CurrentTimeZone.GetUtcOffset(new DateTime(2001,09,01)).Hours);
   st.minute   = Convert.ToUInt16(newdatetime.Minute);
   st.second   = Convert.ToUInt16(newdatetime.Second);
   st.milliseconds  = Convert.ToUInt16(newdatetime.Millisecond);
   return SetSystemTime(st);
  }

 }


 

posted on   kimi_mei  阅读(2128)  评论(0编辑  收藏  举报
编辑推荐:
· 现代计算机视觉入门之:什么是视频
· 你所不知道的 C/C++ 宏知识
· 聊一聊 操作系统蓝屏 c0000102 的故障分析
· SQL Server 内存占用高分析
· .NET Core GC计划阶段(plan_phase)底层原理浅谈
阅读排行:
· 盘点!HelloGitHub 年度热门开源项目
· 某Websocket反爬逆向分析+请求加解密+还原html
· 02现代计算机视觉入门之:什么是视频
· 回顾我的软件开发经历:我与代码生成器的涅槃之路
· DeepSeek V3 两周使用总结
< 2007年10月 >
30 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31 1 2 3
4 5 6 7 8 9 10

点击右上角即可分享
微信分享提示