linux平台下通过Qt修改系统日期时间

79 篇文章 0 订阅
该博客介绍了如何在Linux系统中使用Qt编程修改系统时间并使其永久保存。通过QProcess执行shell命令,结合date和hwclock命令,可以在超级用户权限下实现时间校正,并在重启后保持新时间。代码示例展示了如何用Qt执行sudo命令和相关时间调整操作。
摘要由CSDN通过智能技术生成

目录

操作

权限

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检查效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值