目录

操作

权限

date与hwclock

代码

效果


在超级用户权限下,使用date MMddhhmmyyyy.ss实现时间校正。由于Qt提供QProcess来执行shell命令,所以你也可以通过Qt编程来实现修改系统时间。

操作

权限

遇到用户权限的问题,利用以下命令一次性完成,不用人工再输入用户密码:(类似用法见linux系统下添加IP的过程记录_liji_digital的博客-CSDN博客

echo "密码" | sudo -S 具体指令

date与hwclock

date命令完成日期时间校正。但是计算机重启后又会回到旧的时间上。为了能永久性写入新时间。在date命令后,你还要执行hwclock --systohc指令

代码

int main(int argc, char *argv[])
{
    QString m_qstrDateTime = QString("%1%2%3%4%5.%6").arg("12"/*月份,必须两位*/).arg(
                                QString("%1").arg(1, 2, 10, QChar('0'))/*日,必须两位*/).
                            arg(8, 2, 10, QChar('0')/*小时,必须两位*/).arg(1, 2, 10, QChar('0')/*分钟,必须两位*/)
                            .arg("2022"/*年份,必须4位*/).arg(1, 2, 10, QChar('0')/*秒,必须两位*/);

    QString qstrDateTime = QString("/bin/sh -c \"echo \"%1\" | sudo -S date %2\"").arg("密码").arg(m_qstrDateTime);
                    qDebug()<<qstrDateTime;
    QProcess::execute(qstrDateTime);
    QString qstrSaveTime = QString("/bin/sh -c \"echo \"%1\" | sudo -S hwclock --systohc\"").arg("密码");
    QProcess::execute(qstrSaveTime);
    return 0;
}

效果

上面的代码将日期时间设置为2022年12月1日,8点1分1秒

在命令行输入date检查效果

 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐