關於c 語言的__TIME__ __DATE__巨集定義
阿新 • • 發佈:2019-02-15
const char* time = __TIME__ " "__DATE__ ;
則time 值為該原始檔最近一次編譯的時間和日期,如18:10:14 Mar 16 2011
如果去掉中間的空格字元 __TIME__ __DATE__ 則為18:10:14Mar 16 2011
一個簡單易用的時間顯示,今天看到,記錄一下
示例程式碼:列印程式編譯時間
const char *months[] = {"Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"}; void getdate(char* pDest,uint8_t size) { char temp [] = __DATE__; unsigned char i; unsigned char month, day, year; year = atoi(temp + 9); *(temp + 6) = 0; day = atoi(temp + 4); *(temp + 3) = 0; for (i = 0; i < 12; i++) { if (!strcmp(temp, months[i])) { month = i + 1; break; } } *pDest++ = (year%100)/10+0x30; *pDest++ = year%10+0x30; *pDest++ = (month%100)/10+0x30; *pDest++ = month%10+0x30; *pDest++ = (day%100)/10+0x30; *pDest++ = day%10+0x30; *pDest++ = '_'; memcpy(pDest,__TIME__,strlen(__TIME__)); }