1. 程式人生 > >關於c 語言的__TIME__ __DATE__巨集定義

關於c 語言的__TIME__ __DATE__巨集定義



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__));

}