java同步/设置Linux系统时间

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);
           }

原文地址:https://www.cnblogs.com/marxtsui/p/14047826.html