程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 使用C#設置系統時間

使用C#設置系統時間

編輯:關於C語言

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;

namespace WindowsApplication1
{
  [StructLayout(LayoutKind.Sequential)]
  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 wMiliseconds;
  }

  public class Win32
  {
    [DllImport("Kernel32.dll")]
    public static extern bool SetSystemTime( ref SystemTime sysTime );
    [DllImport("Kernel32.dll")]
    public static extern void GetSystemTime(ref SystemTime sysTime);
  }


 /// <summary>
 /// Form1 的摘要說明。
 /// </summary>
 public class Form1 : System.Windows.Forms.Form
 {
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.TextBox textBox1;
    private System.Windows.Forms.TextBox textBox2;
  /// <summary>
  /// 必需的設計器變量。
  /// </summary>
  private System.ComponentModel.Container components = null;

  public Form1()
  {
   //
   // Windows 窗體設計器支持所必需的
   //
   InitializeComponent();

   //
   // TODO: 在 InitializeComponent 調用後添加任何構造函數代碼
   //
  }

  /// <summary>
  /// 清理所有正在使用的資源。
  /// </summary>
  protected override void Dispose( bool disposing )
  {
   if( disposing )
   {
    if (components != null)
    {
     components.Dispose();
    }
   }
   base.Dispose( disposing );
  }

  #region Windows 窗體設計器生成的代碼
  /// <summary>
  /// 設計器支持所需的方法 - 不要使用代碼編輯器修改
  /// 此方法的內容。
  /// </summary>
  private void InitializeComponent()
  {
      this.button1 = new System.Windows.Forms.Button();
      this.textBox1 = new System.Windows.Forms.TextBox();
      this.textBox2 = new System.Windows.Forms.TextBox();
      this.SuspendLayout();
      //
      // button1
      //
      this.button1.Location = new System.Drawing.Point(188, 174);
      this.button1.Name = "button1";
      this.button1.TabIndex = 0;
      this.button1.Text = "button1";
      this.button1.Click += new System.EventHandler(this.button1_Click);
      //
      // textBox1
      //
      this.textBox1.Location = new System.Drawing.Point(56, 12);
      this.textBox1.Name = "textBox1";
      this.textBox1.Size = new System.Drawing.Size(510, 21);
      this.textBox1.TabIndex = 1;
      this.textBox1.Text = "textBox1";
      //
      // textBox2
      //
      this.textBox2.Location = new System.Drawing.Point(58, 50);
      this.textBox2.Name = "textBox2";
      this.textBox2.Size = new System.Drawing.Size(506, 21);
      this.textBox2.TabIndex = 2;
      this.textBox2.Text = "textBox2";
      //
      // Form1
      //
      this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
      this.ClIEntSize = new System.Drawing.Size(602, 273);
      this.Controls.Add(this.textBox2);
      this.Controls.Add(this.textBox1);
      this.Controls.Add(this.button1);
      this.Name = "Form1";
      this.Text = "Form1";
      this.ResumeLayout(false);

    }
  #endregion

  /// <summary>
  /// 應用程序的主入口點。
  /// </summary>
  [STAThread]
  static void Main()
  {
   Application.Run(new Form1());
  }

    private void button1_Click(object sender, System.EventArgs e)
    {
      textBox1.Text = DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString();
      SystemTime sysTime = new SystemTime();

      sysTime.wYear = Convert.ToUInt16(DateTime.Now.Year);
      sysTime.wMonth = Convert.ToUInt16(DateTime.Now.Month);
      //處置北京時間
      int nBeijingHour = DateTime.Now.Hour - 8;
      if (nBeijingHour <= 0)
      {
        nBeijingHour += 24;
        sysTime.wDay= Convert.ToUInt16(DateTime.Now.Day - 1);
        sysTime.wDayOfWeek = Convert.ToUInt16(DateTime.Now.DayOfWeek - 1);
      }
      else
      {
        sysTime.wDay= Convert.ToUInt16(DateTime.Now.Day);
        sysTime.wDayOfWeek = Convert.ToUInt16(DateTime.Now.DayOfWeek);
      }
      sysTime.wHour = Convert.ToUInt16(nBeijingHour);
      sysTime.wMinute = Convert.ToUInt16(DateTime.Now.Minute);
      sysTime.wSecond = Convert.ToUInt16(DateTime.Now.Second);
      sysTime.wMiliseconds = Convert.ToUInt16(DateTime.Now.Millisecond);
 
      Win32.SetSystemTime(ref sysTime);
      textBox2.Text = DateTime.Now.ToLongDateString() + DateTime.Now.ToLongTimeString();
    }


 }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved