pengjzp619
驱动牛犊
驱动牛犊
  • 注册日期2002-07-26
  • 最后登录2007-12-04
  • 粉丝0
  • 关注0
  • 积分30分
  • 威望3点
  • 贡献值0点
  • 好评度3点
  • 原创分0分
  • 专家分0分
阅读:1177回复:0

我看看这个修改系统时间的程序

楼主#
更多 发布于:2002-08-22 09:43
各位大哥我想在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;    
}
游客

返回顶部