Java - Change System time automatically

来源:互联网 发布:java单元测试怎么做 编辑:程序博客网 时间:2024/06/11 23:49

1. Windows command "date" and "time" can change system time.

2. Run OS command in java

/**
 * Created by learner on 2005-06-07.
 */
import java.io.IOException;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Calendar;

/**
 * This class changes the system date five days forword automatically
 * every 90 seconds. The system time is 500 days forward when the
 * program is terminated. 
 */
public class DateModification {

    private static final int DATE_INTERVAL = 5;
    private static final String WIN_PATH = "/C";
    private static final String COMMAND = "date";
    private static final String DATE_FORMAT = "yyyy-MM-dd";

    public void setSystemTime() {
        String cmdArgValue = null;
        String[] commandLine = null;

        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(DATE_FORMAT);

        Calendar rightNow = null;
  Date dateNow = null;
  Date dateLater = null;
  Process process = null;
  
  for (int i=0; i<100; i++) { 
  
   rightNow = Calendar.getInstance();
         dateNow = rightNow.getTime();
         dateLater = new Date();
       
         // Three days later.
         dateLater.setTime(
            dateNow.getTime() + 1000 * 60 * 60 * 24 * DATE_INTERVAL);

         cmdArgValue = new String(simpleDateFormat.format(dateLater).toString());
         System.out.println(cmdArgValue);

         try {
             commandLine = new String[4];
             commandLine[0] = "cmd.exe";
             commandLine[1] = WIN_PATH;
             commandLine[2] = COMMAND;
             commandLine[3] = cmdArgValue;
           
             // Sleep for 90 seconds.   
    Thread.currentThread().sleep(90000);

             process = Runtime.getRuntime().exec(commandLine);

             /*

            Process p= Runtime.getRuntime().exec(

                     "cmd.exe  /c  start  http://www.cityforest.com");  //Access website


            Process p= Runtime.getRuntime().exec("cmd.exe  /c  start  ping 10.144.98.100");  //Ping

           */
         } catch (IOException ioe) {
             System.out.println(ioe.getMessage());
         } catch (InterruptedException ie) {
    System.out.println(ie.getMessage());
      } catch (Exception e) {
       System.out.println(e.getMessage());
      }
  }

    }

    public static void main(String args[]) throws Exception {
        new DateModification().setSystemTime();
    }
}

原创粉丝点击