使用C ++在Linux中设置系统和硬件时间

时间:2018-09-18 20:59:22

标签: c++ linux

我正在尝试使用以下c ++代码更改Linux中的当前时间:

time_t * t = new time_t(QString::toLongLong(argv[1]));
int returnValue = stime(t);
qDebug() << (QString("set time return value %1").arg(returnValue));
qDebug() << (QString("setting time %1").arg(*t));
QProcess pProcess;
pProcess.start("hwclock", QStringList() << "-w " << "-u");

即使返回值没有返回错误(它是0),我使用argv [1]给出的时间也没有设置。为了验证它,在程序执行后,我在终端上键入“ date”,并且未设置它。你有什么想法吗?

2 个答案:

答案 0 :(得分:0)

首先,您没有将时间浪费在hwclock上。 “ --set”在哪里? “-日期”或其类似物在哪里?

第二个正确的实用程序来设置系统日期和时间是date

答案 1 :(得分:0)

似乎操作系统(Ubuntu 16.06)正在重置时间。我必须在终端中执行以下命令:

systemctl stop systemd-timesyncd
systemctl disable systemd-timesyncd