把 __DATE__ 转换成 yyyymmdd 格式的字符串

__DATE__ 的格式是 Mmm dd yyyy, 这个函数能把它转换成yyyymmdd, 如 "May 13 2010" 转成 "20100513"

 

const char * GetCompiledDate_yyyymmdd() { static char _buf[9] = {0}; if(_buf[0] == 0) { static const char * _month[] = { "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec", }; const char * _date = __DATE__; memcpy(_buf, _date + 7, 4); memcpy(_buf+6, _date + 4, 2); int month = 0; for(int i = 0; i < 12; i++) { if(memcmp(_month[i], _date, 3) == 0) { month = i+1; break; } } _buf[4] = month / 10 % 10 + '0'; _buf[5] = month % 10 + '0'; } return _buf; }

你可能感兴趣的:(C/C++)