#include <ctype.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <stdint.h>
#include <stdbool.h>
typedef struct
{
uint8_t year;
uint8_t month;
uint8_t day;
} BuildDate_t;
static const char *g_monthIndex = "Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec";
/**
* @name: GetBuildDate
* @description: 解析编译时间
* @version: v1.0
* @author: sarjet
* @date: 21.08.24, 20:14
* @param *rbuild: 返回解析
* @param *date: 输入格式: Aug 24 2021
* @return: void
* @example:
**/
void GetBuildDate(BuildDate_t *rbuild, const char *date)
{
char mon[4] = {0};
strncpy(mon, date, 3);
char *pos = strstr(g_monthIndex, mon);
rbuild->month = (pos - g_monthIndex >> 2) + 1;
rbuild->day = atoi(date + 4);
rbuild->year = atoi(date + 9);
}
BuildDate_t svb;
int main(int argc, char const *argv[])
{
GetBuildDate(&svb, __DATE__);
printf("\n%02d-%02d-%02d", svb.year, svb.month, svb.day); // 21-08-24
// printf(__DATE__); //Aug 24 2021
}
__DATE__ 编译时间转换(原创)_210824
最新推荐文章于 2023-05-29 10:21:03 发布