您的位置:首页 > 编程语言 > C#

c# 修改系统本地时间

2007-10-19 09:40 579 查看
/// <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);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: