现在的位置: 首页 > 综合 > 正文

关于c 语言的__TIME__ __DATE__宏定义

2018年03月16日 ⁄ 综合 ⁄ 共 687字 ⁄ 字号 评论关闭

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

}

抱歉!评论已关闭.