【整理】C语言设置Linux系统时间

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 【整理】C语言设置Linux系统时间

今晚完成一个小功能,C语言设置下Linux系统时间。代码如下:

#include <errno.h>
#include <time.h>
#include <sys/time.h>
#include <iostream>

using namespace std;
using std::string;

int setSystemTime(string ymd_date, string hms_time) {
        int flag = 0;
        struct tm tptr;
        struct timeval now;
        string combine_time = ymd_date + hms_time;

        strptime(combine_time.c_str(), "%Y%m%d%H:%M:%S", &tptr);

        std::cout << "setSystemTime() Y = " << (1900 + tptr.tm_year) << std::endl;
        std::cout << "setSystemTime() m = " << (1 + tptr.tm_mon) << std::endl;
        std::cout << "setSystemTime() D = " << tptr.tm_mday << std::endl;
        std::cout << "setSystemTime() H = " << tptr.tm_hour << std::endl;
        std::cout << "setSystemTime() M = " << tptr.tm_min << std::endl;
        std::cout << "setSystemTime() S = " << tptr.tm_sec << std::endl;


        now.tv_sec = mktime(&tptr);
        now.tv_usec = 0;

        int rc = settimeofday(&now, NULL);
        if (rc == 0) {
                printf("设置时间成功!\n");
        }
        else {
                flag = -1;
                printf("设置时间失败, 错误号 = %d\n", errno);
        }
        return flag;
}

int main(int argc, char* argv[])
{
        setSystemTime("20170821","23:58:00");
        return 0;
}

经测试,代码有效。Cool~

原创文章,转载请注明: 转载自勤奋的小青蛙
本文链接地址: 【整理】C语言设置Linux系统时间

文章的脚注信息由WordPress的wp-posturl插件自动生成



|2|left
打赏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: