我需要将日期时间字符串解析2012-12-21 12:10:35
为time_t
使用boost::spirit
. 这是我的代码片段:
tc_ = lexeme[int_[phx::ref(tm_.tm_year)=(_1-1900)]>>'-'
>>int_[phx::ref(tm_.tm_mon)=(_1-1)]>>'-'
>>int_[phx::ref(tm_.tm_mday)=_1]>>+space
>>int_[phx::ref(tm_.tm_hour)=_1]>>':'
>>int_[phx::ref(tm_.tm_min)=_1]>>':'
>>int_[phx::ref(tm_.tm_sec)=_1]] [_val = (long)mktime(&tm_)];
其中tc_
是qi
类型的规则:qi::rule<Iterator, long(), Skipper>
,tm_
是类型的成员变量struct tm
。
代码编译,但不起作用。似乎mktime()
根本没有被调用。我究竟做错了什么?