美文网首页
NSString和NSDate之间的转化减少cpu的消耗

NSString和NSDate之间的转化减少cpu的消耗

作者: 杨闯 | 来源:发表于2018-11-22 09:53 被阅读16次

    对于NSString和NSDate之间的转换,可能一下子就想到的是通过NSDateFormatter进行转化,但是NSDateFormatter进行初始化的时候特别的消耗CPU,为了减少CPU的消耗,建议直接用C语言的方法进行转换。

    在这里主要使用一下两个C语言方法

    size_t strftime(char * __restrict, size_t, const char * __restrict, const struct tm * __restrict) __DARWIN_ALIAS(strftime);
    
    char *strptime(const char * __restrict, const char * __restrict, struct tm * __restrict) __DARWIN_ALIAS(strptime);
    
    • 当你准备由NSDate转换成NSString的时候
      通过timeIntervalSince1970计算出和1970年1月1日0时的时间间隔,然后通过localtime_r和strftime方法获取到对应的char *数据,然后进行字符串的转换形成NSString。

    • 当你准备由NSString转换成NSDate的时候
      通过strptime和mktime方法获取到距离1970年1月1日0时的时间间隔,然后再通过NSDate的dateWithTimeIntervalSince1970方法获取到对应的NSDate数据。

    相关文章

      网友评论

          本文标题:NSString和NSDate之间的转化减少cpu的消耗

          本文链接:https://www.haomeiwen.com/subject/ameqqqtx.html