java設置/同步Linux系統時間
在網上看了很多,試了很多,不知道是他們的環境不同還是啥原因,很少成功
下面我就把我的測試成功的代碼貼出來,讓同行們少走彎路,如果實驗不成功,可以給我留言 我幫助你測試
功能介紹:java程序通過jvm執行linux命令來完成服務器時間同步
代碼:
//需要同步的時間
String synTime ="2014-08-08 08:08:08";
//同步日期 格式 YYYY-MM-DD 也可以是 YYYYMMDD格式 這里是 2014-08-08
String cmd = " date -s " +sysTime.substring(0, 10);
//System.out.println(">>>>>>>>>>>>>>>>>>syn sys time >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>cmd 1>>>>>>>>>>>>>>>>>>>>>>>>>>"+cmd);
Runtime.getRuntime().exec(cmd);
//同步時間 格式 HH:mm:ss
cmd = " date -s "+sysTime.substring(11,sysTime.length());
//System.out.println(">>>>>>>>>>>>>>>>>>syn sys time >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>cmd 2>>>>>>>>>>>>>>>>>>>>>>>>>>"+cmd);
Runtime.getRuntime().exec(cmd);
//查詢同步后的時間
Process proc =Runtime.getRuntime().exec("date");
BufferedReader br = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String nowTime= null;
//輸出操作結果
while ((nowTime= br.readLine()) != null) {
System.out.println(">>>>>>>>>>>>>>>>>>setLinuxTime>>>>>>>>>>>>>success>>>>>>>>>>new time>>>>>>>>>>>>>>"+nowTime);
}