iOS 封装一个Model 处理返回时间

来源:互联网 发布:php jquery ajax登录 编辑:程序博客网 时间:2024/05/01 02:57

在项目开发中从服务器中请求下来的时间想要处理

创建 Time 类 继承NSObject

  • Time.h
#import <Foundation/Foundation.h>@interface Time : NSObject+ (NSString *)handleDate:(NSString *)dateString;+ (NSString *)timeIntervalToDate:(NSString *)timeinterval;@end
  • Time.m
#import "Time.h"@implementation Time/* 传入时间与现在时间差距在60秒以内,输出@“刚刚” 1个小时以内,输出@“**分钟” 差距1-24小时以内,输出@“**小时前” 差距大于一天,输出@“**天前” 差距大于30天,输出@“**个月前” 差距大于365天,输出@“完整日期” */// 处理后返回+ (NSString *)handleDate:(NSString *)dateString {    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"UTC"]];    NSDate *date = [dateFormatter dateFromString:dateString];    NSTimeInterval timeInterval = date.timeIntervalSinceNow;    double time = -(timeInterval - 28800);    NSString *backString;    if (time < 60 && time > 0) {        backString = @"刚刚";    } else if (time > 60 && time < 3600 ) {        int Minute = time / 60;        backString = [NSString stringWithFormat:@"%d 分钟",Minute];    } else if (time > 3600 && time < 86400) {        int Hour = time / 3600;         backString = [NSString stringWithFormat:@"%d 小时",Hour];    } else if (time > 86400 && time < 2592000) {        int Day = time / 86400;         backString = [NSString stringWithFormat:@"%d 一天",Day];    } else if (time > 2592000 && time < 31104000) {        int Month = time / 2592000;         backString = [NSString stringWithFormat:@"%d 一月",Month];    } else if (time > 31104000) {        return dateString;    }    return backString;}// 从服务器请求下来的+ (NSString *)timeIntervalToDate:(NSString *)timeinterval {    NSTimeInterval time = [timeinterval doubleValue]; //因为时差问题要加8小时 == 28800 sec    NSDate *detailDate = [NSDate dateWithTimeIntervalSince1970:time];    //实例化一个NSDateFormatter对象    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];    //设定时间格式,这里可以设置成自己需要的格式    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];    NSString *currentDateStr = [dateFormatter stringFromDate:detailDate];    return currentDateStr;}@end

这是我项目中的,从服务器获取,然后返回输出
这里写图片描述

0 0
原创粉丝点击