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

2018-07-22  本文已影响20人  朴子hp

总结一些关于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];

}

上一篇下一篇

猜你喜欢

热点阅读