• 使用C#改变windows系统本地时间


    当我们从他人的服务器上获取数据的时候,因为客户端和服务器时间不同步的原因导致获取数据失败。有时候需要同步时间服务器, 当怎么同步时间服务器都没用的时候,我们可以适当的更改本地系统时间。
    在windows更改本地时间的通常做法是时:
    1,首先定义一个结构体
     1 [StructLayout(LayoutKind.Sequential)]         
     2         public struct SYSTEMTIME
     3     {    
     4         public short wYear;    
     5         public short wMonth;    
     6         public short wDayOfWeek;    
     7         public short wDay;    
     8         public short wHour;    
     9         public short wMinute;    
    10         public short wSecond;    
    11         public short wMilliseconds;
    12     }

    2,添加外部引用的方法,使用的是windows系统的库kernel32.dll:

    [DllImport("kernel32.dll", SetLastError = true)]public static extern bool SetSystemTime(ref SYSTEMTIME st);

    3, 在实例中,填充SYSTEMTIME这个结构, 然后就可以调用这个函数:

    public static bool SetLocalTimeByStr(string timestr)       
    {          
         bool flag = false;           
        SystemTime sysTime = new SystemTime();           
        DateTime dt = Convert.ToDateTime(timestr);           
        sysTime.wYear = Convert.ToUInt16(dt.Year);    //must be short           
        sysTime.wMonth = Convert.ToUInt16(dt.Month);           
        sysTime.wDay = Convert.ToUInt16(dt.Day);           
        sysTime.wHour = Convert.ToUInt16(dt.Hour);           
        sysTime.wMinute = Convert.ToUInt16(dt.Minute);           
        sysTime.wSecond = Convert.ToUInt16(dt.Second);          
        try
        {
         flag = SetSystemDateTime.SetLocalTime(ref sysTime);
        }
        catch
        {
            return false;
        }           
        return flag;       
    }

       4,例如将本地时间减慢30秒的话,可以这样做:   

    string changeTime = DateTime.Now.AddSeconds(-30).ToString();
        SetLocalTimeByStr(changeTime);

    转载:

    https://blog.csdn.net/mucangmang/article/details/79660920

  • 相关阅读:
    P2764 最小路径覆盖问题
    P1402 酒店之王 网络流
    P2597 [ZJOI2012]灾难 拓扑排序
    FJOI2017 矩阵填数
    2019.2.27模拟
    2019.2.26模拟
    SDOI2013 方程
    [AH2017/HNOI2017]抛硬币
    Lucas定理和扩展Lucas定理
    LuoguP4861 按钮
  • 原文地址:https://www.cnblogs.com/sunice/p/14081599.html
Copyright © 2020-2023  润新知