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

2021-09-22 13:38:44 字數 2049 閱讀 5901

時間準確的重要性不言而喻,有時候我們對時間的要求非常嚴格,有時候也要求不允許使用者調整系統時間,有時候。。。等等情況下,我們都需要時間的同步,雖然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);

inthr 

=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

intgetint(

string

origin, 

bool

fullmatch)

origin 

=origin.trim();if(

!fullmatch)

intres =0

;int

.tryparse(origin, 

outres);

return

res;

}#endregion

#region

p/invoke 設定本地時間

[dllimport(

"kernel32.dll")]

private

static

extern

bool

setlocaltime(

refsystemtime 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 設定硬體...