zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#实现修改系统时间的方法

c#方法系统 实现 时间 修改
2023-06-13 09:15:39 时间

本文所述C#获取和修改系统时间的实现步骤为:系统的时间从SystemTime结构体中取出,并显示在textBox1上,从setDate,setTime控件中获取年,月,日,小时,分钟,秒信息,存入SystemTime结构体中,然后使用SetLocalTime(refsystemTime)设置为用户指定的时间。本代码编译后会有一个易于操作的窗体。

完整功能代码如下:

usingSystem;
usingSystem.Drawing;
usingSystem.Collections;
usingSystem.ComponentModel;
usingSystem.Windows.Forms;
usingSystem.Data;
usingSystem.Runtime.InteropServices;
namespacechangesystime
{
///<summary>
///Form1的摘要说明。
///</summary>
publicclassForm1:System.Windows.Forms.Form
{
privateSystem.Windows.Forms.GroupBoxgroupBox1;
privateSystem.Windows.Forms.TextBoxtextBox1;
privateSystem.Windows.Forms.GroupBoxgroupBox2;
privateSystem.Windows.Forms.Buttonbutton1;
privateSystem.Windows.Forms.Buttonbutton2;
privateSystem.Timers.Timertimer1;
privateSystem.Windows.Forms.DateTimePickersetDate;
privateSystem.Windows.Forms.DateTimePickersetTime;
privateSystem.ComponentModel.IContainercomponents;
[StructLayout(LayoutKind.Sequential)]
publicstructSystemTime
{
publicushortwYear;
publicushortwMonth;
publicushortwDayOfWeek;
publicushortwDay;
publicushortwHour;
publicushortwMinute;
publicushortwSecond;
publicushortwMiliseconds;
}

//用于设置系统时间
[DllImport("Kernel32.dll")]
publicstaticexternboolSetLocalTime(refSystemTimesysTime);
//用于获得系统时间
[DllImport("Kernel32.dll")]
publicstaticexternvoidGetLocalTime(refSystemTimesysTime);
publicForm1()
{
//
//Windows窗体设计器支持所必需的
//
InitializeComponent();

//
//TODO:在InitializeComponent调用后添加任何构造函数代码
//
}

///<summary>
///清理所有正在使用的资源。
///</summary>
protectedoverridevoidDispose(booldisposing)
{
if(disposing)
{
if(components!=null)
{
components.Dispose();
}
}
base.Dispose(disposing);
}

#regionWindows窗体设计器生成的代码
///<summary>
///设计器支持所需的方法-不要使用代码编辑器修改
///此方法的内容。
///</summary>
privatevoidInitializeComponent()
{
this.groupBox1=newSystem.Windows.Forms.GroupBox();
this.textBox1=newSystem.Windows.Forms.TextBox();
this.groupBox2=newSystem.Windows.Forms.GroupBox();
this.setTime=newSystem.Windows.Forms.DateTimePicker();
this.setDate=newSystem.Windows.Forms.DateTimePicker();
this.button1=newSystem.Windows.Forms.Button();
this.button2=newSystem.Windows.Forms.Button();
this.timer1=newSystem.Timers.Timer();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.timer1)).BeginInit();
this.SuspendLayout();
//
//groupBox1
//
this.groupBox1.Controls.Add(this.textBox1);
this.groupBox1.Location=newSystem.Drawing.Point(32,24);
this.groupBox1.Name="groupBox1";
this.groupBox1.Size=newSystem.Drawing.Size(216,64);
this.groupBox1.TabIndex=0;
this.groupBox1.TabStop=false;
this.groupBox1.Text="系统当前时间";
//
//textBox1
//
this.textBox1.Location=newSystem.Drawing.Point(16,24);
this.textBox1.Name="textBox1";
this.textBox1.ReadOnly=true;
this.textBox1.Size=newSystem.Drawing.Size(184,21);
this.textBox1.TabIndex=1;
this.textBox1.Text="";
//
//groupBox2
//
this.groupBox2.Controls.Add(this.setTime);
this.groupBox2.Controls.Add(this.setDate);
this.groupBox2.Location=newSystem.Drawing.Point(32,112);
this.groupBox2.Name="groupBox2";
this.groupBox2.Size=newSystem.Drawing.Size(216,64);
this.groupBox2.TabIndex=1;
this.groupBox2.TabStop=false;
this.groupBox2.Text="时间设置为";
//
//setTime
//
this.setTime.Format=System.Windows.Forms.DateTimePickerFormat.Time;
this.setTime.Location=newSystem.Drawing.Point(128,24);
this.setTime.Name="setTime";
this.setTime.ShowUpDown=true;
this.setTime.Size=newSystem.Drawing.Size(72,21);
this.setTime.TabIndex=1;
this.setTime.TabStop=false;
//
//setDate
//
this.setDate.Format=System.Windows.Forms.DateTimePickerFormat.Short;
this.setDate.Location=newSystem.Drawing.Point(8,24);
this.setDate.Name="setDate";
this.setDate.Size=newSystem.Drawing.Size(104,21);
this.setDate.TabIndex=0;
//
//button1
//
this.button1.Location=newSystem.Drawing.Point(40,200);
this.button1.Name="button1";
this.button1.Size=newSystem.Drawing.Size(64,32);
this.button1.TabIndex=2;
this.button1.Text="设置";
this.button1.Click+=newSystem.EventHandler(this.button1_Click);
//
//button2
//
this.button2.Location=newSystem.Drawing.Point(168,200);
this.button2.Name="button2";
this.button2.Size=newSystem.Drawing.Size(64,32);
this.button2.TabIndex=3;
this.button2.Text="退出";
this.button2.Click+=newSystem.EventHandler(this.button2_Click);
//
//timer1
//
this.timer1.Enabled=true;
this.timer1.SynchronizingObject=this;
this.timer1.Elapsed+=newSystem.Timers.ElapsedEventHandler(this.timer1_Elapsed);
//
//Form1
//
this.AutoScaleBaseSize=newSystem.Drawing.Size(6,14);
this.ClientSize=newSystem.Drawing.Size(280,261);
this.Controls.Add(this.button2);
this.Controls.Add(this.button1);
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name="Form1";
this.Text="获取和设置系统时间";
this.groupBox1.ResumeLayout(false);
this.groupBox2.ResumeLayout(false);
((System.ComponentModel.ISupportInitialize)(this.timer1)).EndInit();
this.ResumeLayout(false);

}
#endregion
///<summary>
///应用程序的主入口点。
///</summary>
[STAThread]
staticvoidMain()
{
Application.Run(newForm1());
}

privatevoidbutton2_Click(objectsender,System.EventArgse)
{
this.Close();//关闭当前窗体
}

privatevoidtimer1_Elapsed(objectsender,System.Timers.ElapsedEventArgse)
{
//清除textBox1上的字符串
textBox1.Clear();
//创建SystemTime结构体,用于接收系统当前时间
SystemTimesystemTime=newSystemTime();
GetLocalTime(refsystemTime);//获得系统的时间并存在SystemTime结构体中
//将系统的时间从SystemTime结构体中中取出,并显示在textBox1上
textBox1.Text+=systemTime.wYear.ToString()+"-";
textBox1.Text+=systemTime.wMonth.ToString()+"-";
textBox1.Text+=systemTime.wDay.ToString()+"";
textBox1.Text+=systemTime.wHour.ToString()+":";
textBox1.Text+=systemTime.wMinute.ToString()+":";
textBox1.Text+=systemTime.wSecond.ToString();
//textBox1.Refresh();
}
privatevoidbutton1_Click(objectsender,System.EventArgse)
{
//创建SystemTime结构体,用于接收用户设置的时间
SystemTimesystemTime=newSystemTime();
//从setDate,setTime控件中获取年,月,日,小时,分钟,秒信息,存入SystemTime结构体中
systemTime.wYear=(ushort)setDate.Value.Year;
systemTime.wMonth=(ushort)setDate.Value.Month;
systemTime.wDay=(ushort)setDate.Value.Day;
systemTime.wHour=(ushort)setTime.Value.Hour;
systemTime.wMinute=(ushort)setTime.Value.Minute;
systemTime.wSecond=(ushort)setTime.Value.Second;
//将系统的时间设置为用户指定的时间
SetLocalTime(refsystemTime);
}
}
}