美文网首页
NSDate,时间戳,字符串之间相互转化(一)

NSDate,时间戳,字符串之间相互转化(一)

作者: 朴子hp | 来源:发表于2018-07-22 20:01 被阅读20次

    总结一些关于NSDate转化字符串/时间戳一些常见的使用方法

    1.NSDate与时间戳之间的相互转化


    // mark -- NSDate转化为时间戳 

    - (NSString *)getTimeStampFromDate:(NSDate*)date{

        // *1000 是精确到毫秒,不乘就是精确到秒

        NSTimeInterval  timeInterval = [date timeIntervalSince1970];

        return [NSString stringWithFormat:@"%.0f", timeInterval];

    }

    // mark -- 时间戳转化NSDate

    - (NSDate*)getDateFromTimeStamp:(NSString*)timeStamp{

       //注意   /1000  是服务器返回13位为精确到毫秒的 否则不用 /1000 

        CGFloat time = [timeStamp doubleValue];

        return  [NSDate dateWithTimeIntervalSince1970:time];

    }

    2.NSDate与时间字符串之间的相互转化

    // mark -- NSDate转化时间字符串

    -(NSString *)getDateStringFromDate:(NSDate*)date;{   

     //实例化一个NSDateFormatter对象   

     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];   

     //设定时间格式,这里可以设置成自己需要的格式   

     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];   

     //返回时间字符串    

    return [dateFormatter stringFromDate:date];

     }

    // mark -- 时间字符串转化NSDate

    -(NSDate*)getDateFromTimeString:(NSString*)timeString;{

        //实例化一个NSDateFormatter对象

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

        //设定时间格式,这里可以设置成自己需要的格式

        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

        //返回时间NSDate

        return [dateFormatter dateFromString:timeString];

    }

    3.时间戳与时间字符串之间的相互转化


    // mark -- 时间戳转化时间字符串

    - (NSString*)getTimeStringFromTimeStamp:(NSString*)timeStamp{

        //根据时间戳转NSDate --> 转换成标准时间

        NSDate*date = [self  getDateFromTimeStamp:timeStamp];

        //实例化一个NSDateFormatter对象

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

        //设定时间格式,这里可以设置成自己需要的格式

        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

        //返回完整的时间

        return [dateFormatter stringFromDate:date];

    }

    // mark -- 时间字符串转化时间戳

    -(NSString*)getTimeStampFromTimeString:(NSString*)timeString;{

        //实例化一个NSDateFormatter对象

        NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

        //设定时间格式,这里可以设置成自己需要的格式

        [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];

        //将字符串转换为时间对象

        NSDate*tempDate = [dateFormatter dateFromString:timeString];

        //字符串转成时间戳,精确到毫秒*1000

        return [NSString stringWithFormat:@"%f", [tempDate timeIntervalSince1970]];

    }

    4.补充: 获取当前时间NSDate / 当前时间字符串


    // mark -- 获取当前时间NSDate

    - (NSDate*)getCurrentDate{

        return[NSDate date];

    }

    // mark -- 获取当前时间字符串

    -  (NSString*)getCurrentDateString{

        //实例化一个NSDateFormatter对象

        NSDateFormatter *formatter = [[NSDateFormatter alloc] init];

        //设定时间格式,这里可以设置成自己需要的格式

        [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];

        NSDate*currentDate = [NSDate date];

        return [formatter stringFromDate:currentDate];

    }

    相关文章

      网友评论

          本文标题:NSDate,时间戳,字符串之间相互转化(一)

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