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);
}
}
///系统时间类
/// </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);
}
}
相关文章推荐
- C#修改本地系统时间转载
- C#利用win32 Api 修改本地系统时间、获取硬盘序列号
- C# 修改系统本地时间
- c# 修改系统本地时间
- c# 修改系统本地时间
- 用C#语言修改系统时间
- c#修改系统时间的方法
- C#实现修改系统时间的方法
- C# 修改系统时间
- 用C#修改WM5.0和WM6.0 系统平台的时间
- c#修改系统时间的方法
- C#修改系统时间(本机电脑)
- C#修改系统时间
- 用C#设置系统时间和本地时间
- 修改系统本地时间的 API
- 修改本地系统时间导致的一系列问题
- c#调用win32 API函数修改系统时间
- C#修改系统时间
- 用C#设置系统时间和本地时间
- C# 获取北京时间,并修改本地时间与北京时间同步