2010-04-20 2 views
1

현재 날짜 (일, 월 및 연도)를 가져오고 싶습니다. C에서 몇 가지 함수가 ctime (시간 문자열 얻기), localtime 및 gmtime과 같은 작업을 수행한다는 것을 알았습니다. 다음 코드를 시도했지만 출력이 다릅니다. (110)현재 인쇄 날짜 시간 (C 언어)이 다른 대답을주는 이유

년은 다음과 같습니다 : (110)

아무도 이유를 알고 있나요

날짜와 시간은 (정확) 2010 4월 20일

년은 화입니다 :이 출력을 얻을 ? ctiime에 대한 man 페이지

int main(int argc, char** argv) 
{ 
    time_t now; 
    if((now = time(NULL)) == (time_t)-1) 
    { 
     puts("Failure in getting time"); 
    } 
    else { 
     printf("The date and time is: %s\n", ctime(&now)); 
     printf("The year is: %ld\n", localtime(&now)->tm_year); 
     printf("The year is: %ld\n", gmtime(&now)->tm_year); 
    } 
    getchar(); 
} 

답변

7

봐 - 올해 필드는 1900

http://linux.die.net/man/3/ctime

tm_year 
The number of years since 1900. 
+0

감사에서 년, 나는 그것을 얻었다. 내 프로그램에서 월요일과 월 모두 잘못 했어 – vodkhang

+1

@vodkhang, 많은 사람들이 그 실수를 저질렀다. 그래서 방어의 첫 번째 줄은 맨 페이지를 읽는 것입니다. –