最近做国标28181录像查询业务的对接,需要将时间格式从“2013-09-18T14:32:17”格式的字符串转换成整型去请求历史录像,写了下面一个函数,有需要的可以参考下。另外,国标这块我觉得设计的就不合理了,录像查询的时候的时间格式是字符串,录像请求的时候又变成了整型,不能统一,想这种格式的转换尽量放在一端做,不要两端都做,容易弄混淆,你觉得呢?
time_t StringToDatetime(const char *strTime)
{
if (NULL == strTime)
{
return 0;
}
tm tm_;
int year, month, day, hour, minute,second;
sscanf(strTime,"%d-%d-%dT%d:%d:%d", &year, &month, &day, &hour, &minute, &second);
tm_.tm_year = year-1900;
tm_.tm_mon = month-1;
tm_.tm_mday = day;
tm_.tm_hour = hour;
tm_.tm_min = minute;
tm_.tm_sec = second;
tm_.tm_isdst = 0;
time_t t_ = mktime(&tm_); //已经减了8个时区
return t_; //秒时间
}