c#同步時間
第一種方法:
借用系統介面
[dllimport("user32.dll")]
private static extern bool animatewindow(intptr hwnd, int dwtime, int dwflags);
[dllimport("kernel32.dll")]
private static extern boolean setsystemtime([in, out] systemtime st);
[dllimport("kernel32.dll")]
public static extern bool setlocaltime(ref systemtime st);
[structlayout(layoutkind.sequential)]
public class systemtime
{public ushort year;
public ushort month;
public ushort dayofweek;
public ushort day;
public ushort hour;
public ushort minute;
public ushort second;
public ushort milliseconds;
然後傳入時間,呼叫介面
//systemtime st = new systemtime();
= convert.touint16(newdatetime.year);
= convert.touint16(newdatetime.month);
= convert.touint16(newdatetime.day);
ofweek = convert.touint16(newdatetime.dayofweek);
// st.hour =
// convert.touint16(newdatetime.hour -
// timezone.currenttimezone.getutcoffset(new datetime(2001, 09, 01)).hours);
= convert.touint16(newdatetime.minute);
= convert.touint16(newdatetime.second);
= convert.touint16(newdatetime.millisecond);
//return setsystemtime(st);
在使用過程中,遇到乙個問題,未解決,例如:newdatetime為網路返回時間 2013-09-30 06:20:19 這樣的話,校準時間後,並非為6點,而是下午14點,但是如果返回時間為 2013-09-30 08:00:00 則校準成功,網路查詢原因為時區差,北京為8時區之類的,
第二種方法
引入 microsoft.visualbasic
microsoft.visualbasic.dateandtime.today = newdatetime;
microsoft.visualbasic.dateandtime.timeofday = newdatetime;
不存在第一種問題
C 同步網路時間
客戶的機器的系統時間經常出錯,導致給他們做的軟體無法正常使用,所以後來就加了乙個同步網路時間的小功能。實現起來很簡單,但是卻很使用。這個小功能就是先獲取網路時間,然後將系統的時間修改成從網路獲得的時間。下面是具體的實現 using system using system.collections.ge...
Linux同步網路時間
linux伺服器執行久時,系統時間就會存在一定的誤差,一般情況下可以使用date命令進行時間設定,但在做資料庫集群分片等操作時對多台機器的時間差是有要求的,此時就需要使用ntpdate進行時間同步 安裝 yum install ntpdate ntpdate簡單用法 ntpdate ip ntpda...
linux同步網路時間
linux伺服器執行久時,系統時間就會存在一定的誤差,一般情況下可以使用date命令進行時間設定,但在做資料庫集群分片等操作時對多台機器的時間差是有要求的,此時就需要使用ntpdate進行時間同步。一 修改時區 cp usr share zoneinfo asia shanghai etc loca...