整理 時間的處理 與網路時間同步

2021-06-04 02:23:17 字數 2016 閱讀 7789

時間準確的重要性不言而喻,有時候我們對時間的要求非常嚴格,有時候也要求不允許使用者調整系統時間,有時候。。。等等情況下,我們都需要時間的同步,雖然windows也有dos命令來保持和時鐘服務進行同步,但本文另闢途徑,介紹另一種獲取標準時間並同步時間的操作。

首先,我們來看看乙個**:國家授時中心(這個是應該是時間的權威機構,裡面有各國各地的時間,我們可以通過同步該時間來實現系統時間的更新。首先分兩步,一步是獲取「國家授時中心」的時間,一步是更新系統時間。下面的**就是做這些工作。

#region 獲取網路時間

//////獲取中國國家授時中心網路伺服器時間發布的當前時間

///

///

public

static datetime getchinesedatetime()

年\d月\d日

";

string pathr = 

@"hrs\s+=\s+\d

";

string patmn = 

@"min\s+=\s+\d

";

string patsc = 

@"sec\s+=\s+\d

";

regex regdt = 

new regex(patdt);

regex reghr = 

new regex(pathr);

regex regmn = 

new regex(patmn);

regex regsc = 

new regex(patsc);

res = datetime.parse(regdt.match(html).value);

int hr = getint(reghr.match(html).value, 

false);

int mn = getint(regmn.match(html).value, 

false);

int sc = getint(regsc.match(html).value, 

false);

res = res.addhours(hr).addminutes(mn).addseconds(sc);

}catch 

return res;

}///

///從指定的字串中獲取整數

///

///原始的字串

///是否完全匹配,若為false,則返回字串中的第乙個整數數字

///整數數字

private

static

int getint(

string origin, 

bool fullmatch)

origin = origin.trim();

if (!fullmatch)

int res = 

0;int.tryparse(origin, 

out res);

return res;

}#endregion

複製**

#region p/invoke 設定本地時間

[dllimport(

"kernel32.dll

")]

private

static

extern

bool setlocaltime(

ref systemtime time);

[structlayout(layoutkind.sequential)]

private

struct systemtime

//////

設定本地計算機時間

///

///datetime物件

public

static

void setlocaltime(datetime dt)

#endregion

複製**

兩步操作就可以搞定時間的同步,測試效果還是不錯,不過不建議頻繁進行時間的同步處理,間隔一段時間檢查一次即可。

時間的處理 與網路時間同步

時間準確的重要性不言而喻,有時候我們對時間的要求非常嚴格,有時候也要求不允許使用者調整系統時間,有時候。等等情況下,我們都需要時間的同步,雖然windows也有dos命令來保持和時鐘服務進行同步,但本文另闢途徑,介紹另一種獲取標準時間並同步時間的操作。首先,我們來看看乙個 國家授時中心 這個是應該是...

時間的處理 與網路時間同步

時間準確的重要性不言而喻,有時候我們對時間的要求非常嚴格,有時候也要求不允許使用者調整系統時間,有時候。等等情況下,我們都需要時間的同步,雖然windows也有dos命令來保持和時鐘服務進行同步,但本文另闢途徑,介紹另一種獲取標準時間並同步時間的操作。首先,我們來看看乙個 國家授時中心 這個是應該是...

CentOS設定系統時間與網路時間同步

linux的時間分為system clock 系統時間 和real time clock 硬體時間,簡稱rtc 檢視系統時間的命令 date 設定系統時間的命令 date set 月 日 年 時 分 秒 例 date set 10 11 10 10 15 檢視硬體時間的命令 hwclock 設定硬體...