/* 获取本地时间 */
- (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];
}
}