시스템 시간변경은 어떻게?
글쓴이: MackTheKnife / 작성시간: 월, 2004/03/08 - 6:47오후
adjtime이나 adjtimex를 해도 시스템 시간이 변경이 안되네여..
ps:쉘에서 date를 쓰면된다고 올려주지마세여..
int main()
{
struct tm newTimeStruct;
time_t newTime,oldTime;
struct timeval delta;
int ret;
struct timex timeX;
char timeString[15];
sprintf(timeString,"%s","20040301123456");
if(time(&oldTime) == -1)
{
printf("time error");
}
strptime(timeString,"%Y%m%d%H%M%S",&newTimeStruct);
newTime=mktime(&newTimeStruct);
delta.tv_sec=newTime-oldTime;
delta.tv_usec=0;
//ret=adjtime(&delta,NULL);
timeX.modes=ADJ_OFFSET;
timeX.offset=(newTime-oldTime)*1000000;
ret=adjtimex(&timeX);
if(ret < 0)
perror("set time FAIL");
}
에러는 Invalid argument가 나오는데..argument가 잘못된거 같지는 않은데..
Forums:


settimeofday(2)한 시간전으로 되돌리기[code:1
settimeofday(2)
한 시간전으로 되돌리기
#include <sys/time.h> #include <string.h> int main() { struct timeval timebuf; gettimeofday(&timebuf, NULL); timebuf.tv_sec -= 3600; settimeofday(&timebuf, NULL); }댓글 달기