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