|
아리랑 님이 쓰신 글 :
: 게시판에 질문으로 도배를 해서 죄송합니다.
:
: 빌더 5.0에서 두가지 질문입니다.
:
: 1. 빌더에서 TDate(년도,월,일)로 생성하니 에러가 납니다. 추적에 들어가보면 TDate dDate(1998,1,1)로 생성하면 vcl소스에서 보면 년도,월,일 등에 전부 쓰레기 값이 들어가 있더군요. 원래 이런건지..
: 그래서 TDate dDate = StrToDate(IntToStr(tmt->tm_year + 1900)+"-"+IntToStr(tmt->tm_mon+1)+"-"+IntToStr(tmt->tm_mday)); 이렇게 생성합니다.
TDateTime Class 를 사용하여서 FormatDateTime("yyyy/mm/dd", Now()) 이런식으로 년도타입을 맞춰주세요
2번질문..전 DB를 몰라서..ㅋㄷㅋㄷ bye
:
: 2. 제가 Mysql DB하나로 gcc,php,vc++,builder등에서 제각기 Access해야 하므로 날짜와 시간을 Unix의 time_t값으로 저장해서 사용합니다. 물론 DB에서 제공하는 기본 Date형을 사용할 수도 있지만 그렇게 되면 gcc에서 이 값을 가지고 연산, 처리하는게 좀 복잡해서요. -- 할줄 몰라서 그럴수도 --
: TDateTime 형에서 time_t형으로 바로 변환해 주는건 없는지요? 아무리 뒤져봐도 없어서 아래와 같이 사용합니다.
:
: // time_t의 값을 TDateTime형으로 변환
: TDateTime time_tToDate(time_t CvtTime)
: {
: struct tm *tmt = localtime(&CvtTime);
: if(CvtTime <= 0) return TDateTime();
: TDate dDate = StrToDate(IntToStr(tmt->tm_year + 1900)+"-"+IntToStr(tmt->tm_mon+1)+"-"+IntToStr(tmt->tm_mday));
: return dDate;
: }
:
: // TDateTime형을 time_t형으로 변환
: time_t DateTotime_t(TDateTime nDate )
: {
: Word nYear,nMon,nDay,nHour = 0,nMin = 0,nSec = 0,nmSec = 0;
: struct tm tmt;
: DecodeDate(nDate,nYear,nMon,nDay);
: DecodeTime(nDate,nHour,nMin,nSec,nmSec);
: tmt.tm_year = nYear - 1900;
: tmt.tm_mon = nMon - 1;
: tmt.tm_mday = nDay;
: tmt.tm_hour = nHour;
: tmt.tm_min = nMin;
: tmt.tm_sec = nSec;
: tmt.tm_wday = nDate.DayOfWeek() - 1;
: tmt.tm_isdst = 0;
: return mktime(&tmt);
: }
:
:
:
:
:
:
|