1. 程式人生 > >C#設置電腦時間幫助類

C#設置電腦時間幫助類

dir lec and helper static 同步 clas ica read

using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication1
{
    public class DateTimeHelper
    {
        /// <summary>
        /// 設置本地電腦的年月日
        /// </summary>
        /// <param name="year"></param>
        /// <param name="month"></param>
        /// <param name="day"></param>
        public static void SetLocalDate(int year, int month, int day)
        {
            //實例一個Process類,啟動一個獨立進程 
            Process p = new Process();
            //Process類有一個StartInfo屬性 
            //設定程序名 
            p.StartInfo.FileName = "cmd.exe";
            //設定程式執行參數 “/C”表示執行完命令後馬上退出
            p.StartInfo.Arguments = string.Format("/c date {0}-{1}-{2}", year, month, day);
            //關閉Shell的使用 
            p.StartInfo.UseShellExecute = false;
            //重定向標準輸入 
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            //重定向錯誤輸出 
            p.StartInfo.RedirectStandardError = true;
            //設置不顯示doc窗口 
            p.StartInfo.CreateNoWindow = true;
            //啟動 
            p.Start();
            //從輸出流取得命令執行結果 
            p.StandardOutput.ReadToEnd();
        }

        /// <summary>
        /// 設置本機電腦的時分秒
        /// </summary>
        /// <param name="hour"></param>
        /// <param name="min"></param>
        /// <param name="sec"></param>
        public static void SetLocalTime(int hour, int min, int sec)
        {
            //實例一個Process類,啟動一個獨立進程 
            Process p = new Process();
            //Process類有一個StartInfo屬性 
            //設定程序名 
            p.StartInfo.FileName = "cmd.exe";
            //設定程式執行參數 “/C”表示執行完命令後馬上退出
            p.StartInfo.Arguments = string.Format("/c time {0}:{1}:{2}", hour, min, sec);
            //關閉Shell的使用 
            p.StartInfo.UseShellExecute = false;
            //重定向標準輸入 
            p.StartInfo.RedirectStandardInput = true;
            p.StartInfo.RedirectStandardOutput = true;
            //重定向錯誤輸出 
            p.StartInfo.RedirectStandardError = true;
            //設置不顯示doc窗口 
            p.StartInfo.CreateNoWindow = true;
            //啟動 
            p.Start();
            //從輸出流取得命令執行結果 
            p.StandardOutput.ReadToEnd();
        }

        /// <summary>
        /// 設置本機電腦的年月日和時分秒
        /// </summary>
        /// <param name="time"></param>
        public static void SetLocalDateTime(DateTime time)
        {
            SetLocalDate(time.Year, time.Month, time.Day);
            SetLocalTime(time.Hour, time.Minute, time.Second);
        }
    }
}

 這個類的功能就是講服務器上的時間同步到本地電腦然後將本地電腦時間修改為最近的時間,防止因為時間問題導致數據采集出現時效相差較大的問題

C#設置電腦時間幫助類