使用C#(.Net)在Visual Studio中更新系统时间

时间:2009-02-05 19:10:38

标签: c# .net

我正在运行一个返回时间的Web服务。我想用我的服务返回的时间来更新系统的时间。如何使用C#在Visual Studio中执行此操作?

修改:完全重复:Set time programmatically using C#

2 个答案:

答案 0 :(得分:2)

你为什么要重新发明轮子?

Windows已经内置了NTP / time service,可以将时间与任何public time serversyou create的私有时间同步。

答案 1 :(得分:1)

我会为windows API SetSystemTime编写一个包装器。像这样:

[StructLayout(LayoutKind.Sequential)]

public struct SYSTEMTIME

{
public short wYear;

public short wMonth;

public short wDayOfWeek;

public short wDay;

public short wHour;

public short wMinute;

public short wSecond;

public short wMilliseconds;

}

[DllImport("kernel32.dll", SetLastError=true)]

public static extern bool SetSystemTime( [In] ref SYSTEMTIME st );

(请注意,我没有对此进行测试,但它应该让你入门)