C#设置系统时间

这篇博客介绍如何通过C#编程修改系统的日期和时间。通过创建`SetSystemDateTime`类,利用DllImport调用`Kernel32.dll`中的`GetLocalTime`和`SetLocalTime`方法来获取和设置系统时间。在用户界面中,当点击按钮时,会弹出确认对话框,若用户确认,则更新系统时间,并显示新的日期和时间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

运行结果:

 

 

代码:

public class SetSystemDateTime//设置系统日期类
        {
            [DllImportAttribute("Kernel32.dll")]
            public static extern void GetLocalTime(SystemTime st);
            [DllImportAttribute("Kernel32.dll")]
            public static extern void SetLocalTime(SystemTime st);
        }

        [StructLayoutAttribute(LayoutKind.Sequential)]
        public class SystemTime//系统时间类
        {
            public ushort vYear;//年
            public ushort vMonth;//月
            public ushort vDayOfWeek;//星期
            public ushort vDay;//日
            public ushort vHour;//小时
            public ushort vMinute;//分
            public ushort vSecond;//秒
        }

        private void button1_Click(object sender, EventArgs e)
        {
            this.textBox1.Text = DateTime.Now.ToString("F") +//得到系统时间
                "  " + DateTime.Now.ToString("dddd");
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show("您真的确定更改系统当前日期吗?",//设置系统当前日期时间
                "信息提示", MessageBoxButtons.OK) == DialogResult.OK)
            {
                DateTime Year = this.dateTimePicker1.Value;//得到时间信息
                SystemTime MySystemTime = new SystemTime();//创建系统时间类的对象
                SetSystemDateTime.GetLocalTime(MySystemTime);//得到系统时间
                MySystemTime.vYear = (ushort)this.dateTimePicker1.Value.Year;//设置年
                MySystemTime.vMonth = (ushort)this.dateTimePicker1.Value.Month;//设置月
                MySystemTime.vDay = (ushort)this.dateTimePicker1.Value.Day;//设置日
                MySystemTime.vHour = (ushort)this.dateTimePicker2.Value.Hour;//设置小时
                MySystemTime.vMinute = (ushort)this.dateTimePicker2.Value.Minute;//设置分
                MySystemTime.vSecond = (ushort)this.dateTimePicker2.Value.Second;//设置秒
                SetSystemDateTime.SetLocalTime(MySystemTime);//设置系统时间
                button1_Click(null, null);//执行按钮点击事件
            }
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值