iOS时间那些事

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">	</span>
<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);"><span style="white-space:pre">	</span>1、毫秒数转换为时间字符串:</span>

+(NSString*)transformDateForMillisecond:(double)millisecond{
    NSDate *date = [[NSDate alloc]initWithTimeIntervalSince1970:millisecond/1000.0];
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"YYYY-MM-dd hh:mm:ss"];
    return [dateFormatter stringFromDate:date];
}

2、当前时间转毫秒数

+(NSInteger)transformMillisecondForDate{
    NSDate *date = [NSDate date];
    NSTimeInterval millisecond = [date timeIntervalSince1970]*1000;
    return millisecond;
}
3、计算与当前时间的差值

+(NSString*)computingTimeDateString: (NSString *)dateString{
    
    NSDate* date1 = [self transformDateForString:dateString];
    NSDate *date2 = [NSDate date];
    
    NSCalendar*chineseClendar = nil;
    NSUInteger unitFlags = nil;
    
    if (iOS9) {
        chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
        unitFlags = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond | NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear;
    }else if (iOS8) {
        chineseClendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSGregorianCalendar];
        unitFlags = NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit | NSDayCalendarUnit | NSMonthCalendarUnit | NSYearCalendarUnit;
    }
    
    NSDateComponents *cps = [chineseClendar components:unitFlags fromDate:date1  toDate:date2  options:0];
    
    NSInteger diffYear = [cps year];
    NSInteger diffMon  = [cps month];
    NSInteger diffDay  = [cps day];
    NSInteger diffHour = [cps hour];
    NSInteger diffMin  = [cps minute];
    NSInteger diffSec  = [cps second];
    
    
    NSLog(  @" 时间差: 年: %ld  月: %ld, 日; %ld, 时: %ld, 分:%ld, 秒:%ld",
          (long)diffYear, (long)diffMon, (long)diffDay, (long)diffHour, (long)diffMin,(long)diffSec );
    
    if (diffYear > 0) {
        return [NSString stringWithFormat:@"%ld年前",(long)diffYear];
    }
    
    if (diffMon > 0) {
        return [NSString stringWithFormat:@"%ld个月前",(long)diffMon];
    }
    
    if (diffDay > 0) {
        return [NSString stringWithFormat:@"%ld天前",(long)diffDay];
    }
    
    if (diffHour > 0) {
        return [NSString stringWithFormat:@"%ld小时前",(long)diffHour];
    }
    
    if (diffMin > 0) {
        return [NSString stringWithFormat:@"%ld分钟前",(long)diffMin];
    }
    
    if (diffSec > 0) {
        return [NSString stringWithFormat:@"%ld秒钟前",(long)diffSec];
    }
    
    return nil;
}


+(NSDate*)transformDateForString:(NSString*)dateString{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *date = [dateFormatter dateFromString:dateString];
    
    return date;
}

+(NSString*)transformStringForDate:(NSDate*)date{
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc]init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSString* dateString = [dateFormatter stringFromDate:date];
    
    return dateString;
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值