工具/软件:Code Composer Studio
您好,
我使用CCS 7.1 和编译器TI v.16.9 .3.LTS。首先我按seconds_set (timestamp)设置时间戳。 然后我想设置当地时间,例如gmte(..)。 从论坛中我了解到,有 一个用来存储时区数据的_tz结构。 默认值为:
tz _tz =
{
-1, /*日光*/
2.16万, /* timezone */
"CST", /* tzname */
"dst", /* dstname */
};
gmtime(..)根据时区(UTC+6)给出日期。 但是当我将时区更改为负时,gmtimtime显示错误(对于CST,应该为-2.16万!)。 gmte.c的来源具有以下条件:
_code_access struct TM *GMTIME (const TIMET *TIMER)
{
TIMET gtime =_tz.timezone;/*当前时区的差异 */
/*和GMT (以秒 为单位)*/
/*------------------ */
/*如果通过添加时区来溢出time_t,则返回NULL */
/*------------------ */
#if defined(_TIME64_implementation)
如果(*timer > int64_MAX - gtime)返回NULL;
#否则
如果(*timer > UINT32_MAX - gte))返回NULL;
#endif
if (timer) gtime +=*timer;
返回LOCALTIME(>ime);
}
当gtime < 0时,我认为存在溢出。 如何更改此库? 是否未实施DST (夏时制)?
JacekRz