__DATE__转换为YYYY-MM-DD

//获取编译日期,转化为"YYYY-MM-DD"形式
- (NSString *)GetCompiledDate_yyyymmdd
{
    NSString *dateStr = nil;
    static char _year[4] = {0};
    static char _month[2] = {0};
    static char _day[2] = {0};
    static const char * _monthE[] =
    {
        "Jan",
        "Feb",
        "Mar",
        "Apr",
        "May",
        "Jun",
        "Jul",
        "Aug",
        "Sep",
        "Oct",
        "Nov",
        "Dec",
    };
    const char * _date = __DATE__;
    
    memcpy(_year, _date + 7, 4);
    int year = atoi(_year);
    memcpy(_day, _date + 4, 2);
    int day = atoi(_day);
    
    int monthNum = 0;
    for(int i = 0; i < 12; i++)
    {
        if(memcmp(_monthE[i], _date, 3) == 0)
        {
            monthNum = i+1;
            break;
        }
    }
    _month[0] = monthNum / 10 % 10 + '0';
    _month[1] = monthNum % 10 + '0';
    int month = atoi(_month);
    
    dateStr = [NSString stringWithFormat:@"%04d-%02d-%02d",year,month,day];

   return dateStr;
}

你可能感兴趣的:(ios,NSString)