gmtime함수와 localtime 함수!
안녕하세요!!
환경은 윈도우, VC++입니다.
m_ctlCalendar.GetCurSel( &systm );stlocal_time.tm_hour = systm.wHour = 0;
stlocal_time.tm_min = systm.wMinute = 0;
stlocal_time.tm_sec = systm.wSecond = systm.wMilliseconds = 0;
stlocal_time.tm_year = systm.wYear - 1900;
stlocal_time.tm_mon = systm.wMonth - 1;
stlocal_time.tm_mday = systm.wDay;
stlocal_time.tm_wday = systm.wDayOfWeek;local_t = mktime( &stlocal_time );
pstgmt_tm = gmtime( &local_t );gmt_t = mktime( pstgmt_tm );
pstgmt_tm2 = localtime( &gmt_t );
이 부분이 있습니다.
우선 달력 콘트롤에서 선택한 날짜를 얻어 옵니다.
그리고 tm 구조체 stlocal_time 변수를 구성하죠.
우선...gmt_t = mktime( pstgmt_tm ) 이 함수에서 gmt_t 가 나오면 이걸 네트워크로 전송합니다. 받은 측에서는 gmt_t를 local 시간으로 바꾸려고 하는데 안바뀌더군요!! gmt_t = mktime( pstgmt_tm) 함수 밑에 pstgmt_tm2 = localtime( &gmt_t ) 이건.. 네트워크로 전송된 측에서 localtime으로 local시간으로 변경이 안되서 제가 붙여서 실행해 보니 역시나 안되더군요!! 제가 잘못 알고 있는것인가요??? localtime 함수는 local 시간으로 변경하는 함수로 알고 있는데 위에 있는 예제를 실행하면 gmt 시간으로 표시합니다.
미국에 있는 클라이언트가 한국에 있는 서버와 접속을 합니다.
둘 사이에는 시간차이가 있습니다. 미국 클라이언트가 10월 25일을 선택하면 이걸 GMT로 바꾸어서 서버로 보내고 서버에서는 이 GMT 시간을 localtime으로 변환하여 검색하는 이런 류의 프로그래밍입니다.
도움좀 부탁드립니다.
댓글 달기