KEIL内置的__DATE__ 和 TIME 宏
利用KEIL内置_DATE_和_TIME_宏获取编译日期和时间
//加入MDK自己的年月日
#define MDK_YEAR ((((__DATE__[7] - '0')*10 + __DATE__[8] - '0')*10 \
+(__DATE__[9] - '0'))*10+(__DATE__[10] - '0'))
#define MDK_MONTH get_month()
#define MDK_DAY ((__DATE__[4]==' ' ? 0 : __DATE__[4]-'0')*10 \
+(__DATE__[5] - '0'))
#define MDK_HOUR ((__TIME__[0]-'0')*10 + __TIME__[1]-'0')
#define MDK_MIN ((__TIME__[3]-'0')*10 + __TIME__[4]-'0')
#define MDK_SEC ((__TIME__[6]-'0')*10 + __TIME__[7]-'0')
//从宏定义__DATE__中获取月份
uint8_t get_month(void)
{
uint8_t month_val;
switch(__DATE__[2])
{
case 'n':
if(__DATE__[1] == 'a')
month_val = 1;
else
month_val = 6;
break;
case 'b':
month_val = 2;
break;
case 'r':
if(__DATE__[1] == 'a')
month_val = 3;
else
month_val = 4;
break;
case 'y':
month_val = 5;
break;
case 'l':
month_val = 7;
break;
case 'g':
month_val = 8;
break;
case 'p':
month_val = 9;
break;
case 't':
month_val = 10;
break;
case 'v':
month_val = 11;
break;
case 'c':
month_val = 12;
break;
default:
month_val = 0;
break;
}
return month_val;
}