iOS开发性能优化之格式化时间

iOS中使用NSDateFormatter的实例化比较耗性能。
在iOS7之前NSDateFormatter不是线程安全的,iOS7之后是线程安全的。
对于iOS7之后格式化时间的优化可以有以下两种:
1、使用单例模式,创建NSDateFormatter单例,代码相对简单,这里就不给出代码了。
2、利用标准C语言库
以下是时间戳转为格式时间代码

//时间戳转为格式时间
- (NSString *)timeIntervalToFormat:(NSTimeInterval)localTimeInterval{
    time_t timeInterval = (time_t)localTimeInterval;
    struct tm *time = localtime(&timeInterval);
    NSString *timeStr = [NSString stringWithFormat:@"%d-%02d-%02d %02d:%02d:%02d",time->tm_year + 1900,time->tm_mon + 1,time->tm_mday,time->tm_hour,time->tm_min, time->tm_sec];
    return timeStr;
}

以下是格式时间转为时间戳代码

- (long)formatToTimeInterval:(NSString *)timeStr{
    //格式时间转为时间戳
    const char *str_time = [timeStr UTF8String];
    
    struct tm stm;
    int iY, iM, iD, iH, iMin, iS;
    memset(&stm,0,sizeof(stm));
    iY = atoi(str_time);
    iM = atoi(str_time+5);
    iD = atoi(str_time+8);
    iH = atoi(str_time+11);
    iMin = atoi(str_time+14);
    iS = atoi(str_time+17);
    stm.tm_year=iY-1900;
    stm.tm_mon=iM-1;
    stm.tm_mday=iD;
    stm.tm_hour=iH;
    stm.tm_min=iMin;
    stm.tm_sec=iS;
    return mktime(&stm);
}

你可能感兴趣的:(iOS开发性能优化之格式化时间)