晕了!!UniversalTime 和 LocalTime 的问题!高手一定帮忙啊!
我想用API实现“设置系统时间”:
[DllImport("Kernel32.dll")]
public static extern bool SetSystemTime(ref SYSTEMTIME st);
public static void SetTime(string sTime)
{
string[] sTimeParts = sTime.Split(":");
SYSTEMTIME st;
GetSystemTime(out st);
st.wHour = System.UInt16.Parse(sTimtParts[0]);
st.wMinute = System.UInt16.Parse(sTimtParts[1]);
st.wSecond = System.UInt16.Parse(sTimtParts[2]);
SetSystemTime(ref st);
}
程序可以正常运行运行,但时间总是设置错误。
比如调用:SetTime("11:32:25"),系统时间会变成"19:32:25"。
调试发现是UniversalTime和LocalTime的问题。
我查看dt.ToUniversalTime().ToString(),为正确的"11:32:25";
再查看dt.ToLocalTime().ToString(),为错误的"19:32:25";
可Windows任务栏中显示的是LocalTime呀,怎么办呢?
我看了半天都晕了,高手帮忙给改改吧?谢谢了。