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);
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 179,113评论 25 709
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,591评论 19 139
  • 性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的...
    你飞跃俊杰阅读 1,152评论 0 2
  • 一早从御道口乡出发。穿过塞罕坝景区,去乌兰布统。 不知不觉在草原已经待了三天。明日就准备启程回去了。难免不舍,不仅...
    小宇宙的天空阅读 242评论 0 1
  • 静默的夜里,一支笔,一本书,一杯茶写就了属于我的诗意生活。也许是诗意也许是失意。冷色的灯光下一支笔书写的是如斯的...
    Tajuanaw阅读 483评论 0 1

友情链接更多精彩内容