今晚完成一个小功能,C语言设置下Linux系统时间。代码如下:
#include
#include
#include
#include
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~
文章的脚注信息由WordPress的wp-posturl插件自动生成
|2|left
打赏
微信扫一扫,打赏作者吧~