iOS获取本地时间和APP中显示时间XX分钟/小时之前

如图所示效果

代码实现

/* 获取本地时间 */
- (NSString *)getNowTime {
    NSDate *senddate=[NSDate date];
    NSDateFormatter  *dateformatter=[[NSDateFormatter alloc] init];
    [dateformatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"];
    NSString *locationString=[dateformatter stringFromDate:senddate];
    return locationString;
}
/* 计算消息时间距离当前时差 */
- (NSString *)getTimeDifferentWith:(NSString *)date {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateStyle:NSDateFormatterMediumStyle];
    [formatter setTimeStyle:NSDateFormatterShortStyle];
    [formatter setDateFormat:@"YYYY-MM-dd HH:mm:ss"]; /* ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 */
    NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"];
    [formatter setTimeZone:timeZone];
    /* 设置时区,这个对于时间的处理有时很重要 */
    NSDate *dateModel = [formatter dateFromString:date]; /* 按照格式设置传入的date时间 */
    NSDate *dateNow = [formatter dateFromString:[self getNowTime]];/* 按照格式设置本地时间 */
    NSString *timeModel = [NSString stringWithFormat:@"%ld", (long)[dateModel timeIntervalSince1970]];/* 计算传入时间的时间戳 */
    NSString *timeNow = [NSString stringWithFormat:@"%ld", (long)[dateNow timeIntervalSince1970]];/* 计算当前时间的时间戳 */
    NSInteger time = ([timeNow integerValue] - [timeModel integerValue]) / 60;/* 计算时差 */
    if (time > 60) {
        return [NSString stringWithFormat:@"%ld小时前",time / 60];
    } else {
        return [NSString stringWithFormat:@"%ld分钟前",time % 60];
    }
  }

计算时差方法调用

NSString *timeDif = [self getTimeDifferentWith:@"2015-11-23 08:10:01"];
NSLog(@"%@", timeDif);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值