首先引入
using System.Runtime.InteropServices;//dll引用时要用到的
using System.Text.RegularExpressions;//正则表达式匹配要用到的
定义获得系统时间的结构体
[StructLayout(LayoutKind.Sequential)]
public class wSystemTime
{
public ushort wYear;
public ushort wMonth;
public ushort wDayOfWeek;
public ushort wDay;
public ushort Whour;
public ushort wMinute;
public ushort wSecond;
public ushort wMilliseconds;
}
调用时间设定的两个函数
[DllImport("Kernel32.dll")]
public static extern void GetLocalTime(wSystemTime st);
[DllImport("Kernel32.dll")]
public static extern void SetLocalTime(wSystemTime st);
通过按钮来去顶设定的时间
wSystemTime st = new wSystemTime();//定义结构体
GetLocalTime(st);//得到系统时间,这句要加的,如果不加没办法改变,具体原因。。。。
if(Regex.IsMatch(txtBox_Year.Text, @"^\d{4}$"))//匹配年
{
st.wYear = Convert.ToUInt16(txtBox_Year.Text);
}
if(Regex.IsMatch(txtBox_Month.Text, @"^[1-(12)]$"))
{
st.wMonth = Convert.ToUInt16(txtBox_Month.Text);
}
if (Regex.IsMatch(txtBox_Day.Text, @"^[1-(31)]$"))
{
st.wDay = Convert.ToUInt16(txtBox_Day.Text);
}
SetLocalTime(st);//设定系统时间