1. shell命令
date -s "2023-05-20 00:00:00"
date
hwclock -w
hwclock
hwclock -w -f /dev/rtc1
hwclock -f /dev/rtc1 --show
hwclock --rtc=/dev/rtc1 --hctosys
2. Qt代码
void setTime(const QString &time)
{
QStringList arg;
arg << "-s" << time;
QProcess::execute("date", arg);
arg.clear();
arg << "-w";
QProcess::execute("hwclock", arg);
arg.clear();
arg << "-w" << "-f" << "/dev/rtc1";
QProcess::execute("hwclock", arg);
}
void syncTime(void)
{
QStringList arg;
arg << "--rtc=/dev/rtc1" << "--hctosys";
QProcess::execute("hwclock", arg);
}
3. C语言修改Linux系统时间
#include <time.h>
bool Ui_ToolRealTimeSet(UI_TIME_T * set_time)
{
#ifdef __WIN_SYS
printf("win set time\n");
return true;
#else
struct tm tm_time;
time_t st;
tm_time.tm_year = set_time->Year - 1900;
tm_time.tm_mon = set_time->Month - 1;
tm_time.tm_mday = set_time->Day;
tm_time.tm_hour = set_time->Hour;
tm_time.tm_min = set_time->Minute;
tm_time.tm_sec = set_time->Second;
st = mktime(&tm_time);
if(st == -1)
return false;
if(!stime(&st))
{
fflush(stdout);
system("hwclock -w");
return true;
}
else
{
return false;
}
#endif
}