time_t ttm = (time_t)0;
으로 설정한 후,
tm = localtime(&ttm);
strftime(szNowTime,256,"%Y%m%d",tm);
으로 뽑아보면
희한하게도 1970년 1월 1일 09시로 나옵니다.
왜 이럴까요?
모든 매뉴얼에서 time()은 1970년 1월 1일 00시를 기준으로
경과한 초를 뽑아낸다구 되어있는데요.
제가 쓰는 리눅스 커널에 문제가 있는걸까요?
아님 모든 분들의 리눅스에서 동일한 문제가 발생할까요?
너무 희한해서
ttm = -3600 으로 놓고 뽑아보았더니
1970년 1월 1일 08시로 나오네요.
하하...
man time 해보면 RETURN VALUE 에 다음과 같은 설명이 나오는데요,
On success, the value of time in seconds since the Epoch
is returned. On error, ((time_t)-1) is returned
근데 ttm = -1 로 해서
strftime(szNowTime,256,"%Y%m%d%H%M%S",tm); 으로 뽑아보면
19700101085959 이라구 나오네요...하핫..황당해라...
커널 버전은 2.2.14 입니다.
다른 분들은 어떤지 확인 좀 해주시구요...
고수분들의 고견을 듣고 싶습니다.
그냥 우리 시스템이 이러니 그런가부다..는 전제하에 작업을 할지...
아니면 모든 매뉴얼이 설명하는 19700101000000 을 기준으로 작업할지
고민되네요.
그럼, 시원한 답변을 기다리며...