日期对象的简单处理

来源:互联网 发布:mac apache 编辑:程序博客网 时间:2024/05/14 08:06

 

#=============================================== 计算指定日期n天以后的日期=========================

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

    
    [inputFormatter setLocale:[NSLocale currentLocale]];
    

    [inputFormatter setDateFormat:@"yyyy.MM.dd"];


    //把日期字符串转换为日期对象
    NSDate*inputDate = [inputFormatter dateFromString:@"2016.01.09"];
 

    NSDateComponents *compt = [[NSDateComponents alloc] init];

//设置在2016.01.09的基础上加3天

    [compt setDay:3];
    
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDate *date = [calendar dateByAddingComponents:compt toDate:inputDate options:0];
    
    //得到本地时间,避免时区问题
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate:date];
    NSDate *localeDate = [date dateByAddingTimeInterval:interval];
    NSDateFormatter *formatter =[[NSDateFormatter alloc] init];
    formatter.dateFormat = @"yyyy.MM.dd";
    
    NSString *endDate = [formatter stringFromDate:localeDate];
    

    NSLog(@"===============%@==============",endDate);



#========================计算指定日期到现在的时间差 ======================

- (NSString *)intervalSinceNow: (NSString *) theDate
{
    NSString *time = [theDate substringToIndex:theDate.length-2];
    
    NSDateFormatter *date=[[NSDateFormatter alloc] init];
    [date setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
    NSDate *d=[date dateFromString:time];
    
    NSTimeInterval late=[d timeIntervalSince1970]*1;
    
    
    NSDate* dat = [NSDate dateWithTimeIntervalSinceNow:0];
    NSTimeInterval now=[dat timeIntervalSince1970]*1;
    NSString *timeString=@"";
    
    NSTimeInterval cha=now-late;
    
    if (cha/3600<1) {
        timeString = [NSString stringWithFormat:@"%f", cha/60];
        timeString = [timeString substringToIndex:timeString.length-7];
        timeString=[NSString stringWithFormat:@"%@分钟前", timeString];
        
    }
    if (cha/3600>1&&cha/86400<1) {
        timeString = [NSString stringWithFormat:@"%f", cha/3600];
        timeString = [timeString substringToIndex:timeString.length-7];
        timeString=[NSString stringWithFormat:@"%@小时前", timeString];
    }
    if (cha/86400>1)
    {
        timeString = [NSString stringWithFormat:@"%f", cha/86400];
        timeString = [timeString substringToIndex:timeString.length-7];
        timeString=[NSString stringWithFormat:@"%@天前", timeString];
        
    }
    return timeString;
}


0 0
原创粉丝点击