iOS計算時間,剛剛,幾分鐘前,幾小時前

直接上代碼


- (NSString *)formateDate:(NSString *)dateString withFormate:(NSString *) formate

{

    

    @try {

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

        [dateFormatter setDateFormat:formate];

        

        NSDate * nowDate = [NSDate date];

        

        NSDate * needFormatDate = [dateFormatter dateFromString:dateString];

        NSTimeInterval time = [nowDate timeIntervalSinceDate:needFormatDate];

        

        //// 再然後,把間隔的秒數折算成天數和小時數:

        

        NSString *dateStr = @"";

        

        if (time<=60) {  // 1分鐘以內的

            

            dateStr = @"剛剛";

        }else if(time<=60*60){  //  一個小時以內的

            

            int mins = time/60;

            dateStr = [NSString stringWithFormat:@"%d分鐘前",mins];

            

        }else if(time<=60*60*24){   // 在兩天內的

            

            [dateFormatter setDateFormat:@"YYYY-MM-dd"];

            NSString * need_yMd = [dateFormatter stringFromDate:needFormatDate];

            NSString *now_yMd = [dateFormatter stringFromDate:nowDate];

            

            [dateFormatter setDateFormat:@"HH:mm"];

            if ([need_yMd isEqualToString:now_yMd]) {

                // 在同一天

                dateStr = [NSString stringWithFormat:@"今天 %@",[dateFormatter stringFromDate:needFormatDate]];

                NSLog(@"%@", dateStr);

            }else{

                //  昨天

                dateStr = [NSString stringWithFormat:@"昨天 %@",[dateFormatter stringFromDate:needFormatDate]];

            }

        }else {

            

            [dateFormatter setDateFormat:@"yyyy"];

            NSString * yearStr = [dateFormatter stringFromDate:needFormatDate];

            NSString *nowYear = [dateFormatter stringFromDate:nowDate];

            

            if ([yearStr isEqualToString:nowYear]) {

                //  在同一年

                [dateFormatter setDateFormat:@"MMdd"];

                dateStr = [dateFormatter stringFromDate:needFormatDate];

            }else{

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

                dateStr = [dateFormatter stringFromDate:needFormatDate];

            }

            

        }

        

        return dateStr;

    }

    @catch (NSException *exception) {

        return @"";

    }

    

    

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章