BCB中 time_t 和 TDateTime之间的相互转换

来源:互联网 发布:悟空方大同知乎 编辑:程序博客网 时间:2024/06/02 13:05
1.time_t到tm的转换  struct tm *localtime(const time_t *timer);
2.tm到time_t转换    time_t mktime(struct tm *t);
3.tm 到TDateTime 

TDateTime DA,TM,dt;
tm* tms;

DA = EncodeDate((Word)tms->tm_year,(Word)tms->tm_mon,(Word)tms->tm_mday);
TM = EncodeTime((Word)tms->tm_hour,(Word)tms->tm_min,(Word)tms->tm_sec,0);

dt = DA.val + TM.val;

4.struct tm *localtime(const time_t *timer) 把time_t 时间(GMT)转换成当地的tm 时间

5.time(time_t*) 得到系统当前的GMT time_t时间


注:
time_t 到TDateTime的转换路径是:
time_t  ------->[localtime()] tm------->[EncodeDate,EncodeTime] TDateTime

TDateTime 到time_t  的转换路径是:
TDateTime--------->[DecodeDate(),DecodeTime()]tm ------->[mktime()] time_t