我知道通过使用终端中的命令
日期 --set="2011-12-07 01:20:15.962"
你实际上可以更改系统时钟,所以我在 Java 中进行了尝试,并得出了以下语句
进程 p = Runtime.getRuntime().exec("date --set=\"2011-12-07 01:20:15.962\"");
但无法设置时钟。
你们知道它是如何工作的吗?
前提: 该机器是 Slackware, 权限为root级别
最佳答案
这行代码有两个问题:
Process p = Runtime.getRuntime().exec("date --set=\"2011-12-07 01:20:15.962\"");
- 您没有等待该过程完成(另请参阅 http://docs.oracle.com/javase/6/docs/api/java/lang/Process.html#waitFor())
参数应该与程序名称分开,试试这个:
“日期”,“-s”,“2011-12-07 01:20:15.962”
或者,调用 shell 作为进程,并传入一行代码:
.exec("sh", "-c", "date --set=\"2011-12-07 01:20:15.962\"")
关于java - 如何使用Java更改Linux机器的系统时钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18682260/