【发布时间】:2009-02-06 03:24:23
【问题描述】:
我正在运行一个正在返回时间的 Web 服务。我想用我的服务返回的时间来更新我的系统时间。如何在 Visual Studio 中使用 C# 做到这一点?
【问题讨论】:
-
KInd 与 stackoverflow.com/questions/516977/… 重复?
我正在运行一个正在返回时间的 Web 服务。我想用我的服务返回的时间来更新我的系统时间。如何在 Visual Studio 中使用 C# 做到这一点?
【问题讨论】:
您为什么要费心重新发明轮子?
Windows 已经有一个内置的 NTP/time service,它将与public time servers 中的任何一个或you create 的私人同步时间。
【讨论】:
我将为 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 );
(请注意,我尚未对此进行测试,但它应该可以帮助您入门)
【讨论】: