【发布时间】:2011-09-06 10:14:39
【问题描述】:
是否可以在 Java 中更改系统时间?
它应该在 Windows 和 Linux 下运行。我用Runtime Class 试过了,但是权限有问题。
这是我的代码:
String cmd="date -s \""+datetime.format(ntp_obj.getDest_Time())+"\"";
try {
Runtime.getRuntime().exec(cmd);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
System.out.println(cmd);
cmd 的输出为:
date -s "06/01/2011 17:59:01"
但是系统时间和以前一样。
我将设置时间,因为我正在编写一个 NTP 客户端,我从 NTP 服务器获取时间并设置它。
【问题讨论】:
-
为什么需要设置系统时间?
-
还包括当前的相关代码和遇到的错误/问题(例如权限“错误”是什么?)
-
@SSZero 因为系统时间不正确/不准确?
-
您需要在 Windows 上使用单独的时间命令。 Runtime.getRuntime().exec("cmd /C 时间" + strTimeToSet); // hh:mm:ss
标签: java systemtime