阅读:1176回复:0
我看看这个修改系统时间的程序
各位大哥我想在linux下修改系统时间
但下面做却有错 请问要怎么做呢? #include <stdio.h> #include <stdlib.h> #include <sys/time.h> #include <time.h> #include <unistd.h> int main () { struct tm *newtime1; struct tm *newtime2; struct timeval *timeval1; struct timezone *timezone1; time_t time1; time_t time2; time(&time1); printf(\"unix time = %d\\n\", time1); newtime1 = localtime(&time1); printf(\"newtime = %d \\n\", newtime1); printf(\"year = %d\\n\", newtime1->tm_year + 1900); printf(\"mon = %d\\n\", newtime1->tm_mon + 1); printf(\"day = %d\\n\", newtime1->tm_mday); printf(\"hour = %d\\n\", newtime1->tm_hour); printf(\"min = %d\\n\", newtime1->tm_min); printf(\"sec = %d\\n\", newtime1->tm_sec); gettimeofday(timeval1, timezone1); printf(\"tv_sec = %d \\n\", timeval1->tv_sec); printf(\"tz_minuteswest = %d \\n\", timezone1->tz_minuteswest); newtime2->tm_year = 2009 - 1900; newtime2->tm_mon = 9 - 1; newtime2->tm_mday = 13; newtime2->tm_hour = 12; newtime2->tm_min = 11; newtime2->tm_sec =11; time2 = mktime(newtime2); printf(\"time2 = %d \\n\", time2); timeval1->tv_sec = time2; //这儿好像有问题,但不知道为什么,两者类型一样,但好像不能这样操作。 printf(\"timeval1->tv_sec = %d \\n\", timeval1->tv_sec); settimeofday(timeval1, timezone1); gettimeofday(timeval1, timezone1); printf(\"new tv_sec = %d\\n\", timeval1->tv_sec); return 0; } |
|