zoukankan      html  css  js  c++  java
  • C#实现设置系统时间

    using System;
    using System.Runtime.InteropServices;
    using System.Windows.Forms;
    
    namespace Demo
    {
        public partial class 设置系统时间 : Form
        {
            public 设置系统时间()
            {
                InitializeComponent();
            }
    
            private void btnSetting_Click(object sender, EventArgs e)
            {
                //取得当前系统时间
                DateTime t = DateTime.Now;
                //在当前时间上加上一周
                t = t.AddDays(7);
    
                t = DateTime.Parse(this.dtpTime.Text);
    
                //转换System.DateTime到SYSTEMTIME
                SYSTEMTIME st = new SYSTEMTIME();
                st.FromDateTime(t);
    
    
                //调用Win32 API设置系统时间
                Win32API.SetLocalTime(ref st);
                //显示当前时间
               // MessageBox.Show(DateTime.Now.ToString());
    
            }
        }
    
        /// <summary>
        /// 
        /// </summary>
        public struct SYSTEMTIME
        {
            public ushort wYear;
            public ushort wMonth;
            public ushort wDayOfWeek;
            public ushort wDay;
            public ushort wHour;
            public ushort wMinute;
            public ushort wSecond;
            public ushort wMilliseconds;
    
            /// <summary>
            /// 从System.DateTime转换。
            /// </summary>
            /// <param name="time">System.DateTime类型的时间。</param>
            public void FromDateTime(DateTime time)
            {
                wYear = (ushort)time.Year;
                wMonth = (ushort)time.Month;
                wDayOfWeek = (ushort)time.DayOfWeek;
                wDay = (ushort)time.Day;
                wHour = (ushort)time.Hour;
                wMinute = (ushort)time.Minute;
                wSecond = (ushort)time.Second;
                wMilliseconds = (ushort)time.Millisecond;
            }
            /// <summary>
            /// 转换为System.DateTime类型。
            /// </summary>
            /// <returns></returns>
            public DateTime ToDateTime()
            {
                return new DateTime(wYear, wMonth, wDay, wHour, wMinute, wSecond, wMilliseconds);
            }
            /// <summary>
            /// 静态方法。转换为System.DateTime类型。
            /// </summary>
            /// <param name="time">SYSTEMTIME类型的时间。</param>
            /// <returns></returns>
            public static DateTime ToDateTime(SYSTEMTIME time)
            {
                return time.ToDateTime();
            }
        }
        public class Win32API
        {
            [DllImport("Kernel32.dll")]
            public static extern bool SetLocalTime(ref SYSTEMTIME Time);
            [DllImport("Kernel32.dll")]
            public static extern void GetLocalTime(ref SYSTEMTIME Time);
        }
    
    }
    

      

  • 相关阅读:
    【算法笔记】B1015 德才论
    【算法笔记】B1014 福尔摩斯的约会
    【算法笔记】B1013 数素数
    【算法笔记】B1012 数字分类
    【算法笔记】B1011 A+B 和 C
    【算法笔记】B1010 一元多项式求导
    【算法笔记】B1009 说反话
    【算法笔记】B1008 数组元素循环右移问题
    SSLOJ 1336.膜拜神牛
    SSLOJ 1335.蛋糕切割
  • 原文地址:https://www.cnblogs.com/YYkun/p/9171447.html
Copyright © 2011-2022 走看看