zoukankan      html  css  js  c++  java
  • iOS 根据时间戳计算聊天列表的时间(上午/下午)

    把时间戳转成聊天时间(上午 10:00  、  昨天 14:00 、 3月15日 15:00)

    +(NSString*)ChatingTime:(NSString *)timestring{
      
        
        int timestamp=  [timestring intValue];
        
        
            // 创建日历对象
            NSCalendar *calendar = [NSCalendar currentCalendar];
            
            // 获取当前时间
        NSDate *currentDate = [NSDate date];
            
            // 获取当前时间的年、月、日。利用日历
            NSDateComponents *components = [calendar components:NSCalendarUnitYear| NSCalendarUnitMonth|NSCalendarUnitDay fromDate:currentDate];
            NSInteger currentYear = components.year;
            NSInteger currentMonth = components.month;
            NSInteger currentDay = components.day;
        
            
            // 获取消息发送时间的年、月、日
            NSDate *msgDate = [NSDate dateWithTimeIntervalSince1970:timestamp];
            components = [calendar components:NSCalendarUnitYear| NSCalendarUnitMonth|NSCalendarUnitDay|NSCalendarUnitHour fromDate:msgDate];
            CGFloat msgYear = components.year;
            CGFloat msgMonth = components.month;
            CGFloat msgDay = components.day;
            CGFloat msghours = components.hour;
            // 进行判断
            NSDateFormatter *dateFmt = [[NSDateFormatter alloc] init];
            if (currentYear == msgYear && currentMonth == msgMonth && currentDay == msgDay) {
                //今天
                if (msghours<12) {
                    dateFmt.dateFormat = @"上午 hh:mm";
                }else{
                    dateFmt.dateFormat = @"下午 hh:mm";
                }
               
            }else if (currentYear == msgYear && currentMonth == msgMonth && currentDay-1 == msgDay ){
                //昨天
                dateFmt.dateFormat = @"昨天 HH:mm";
            }else{
                //昨天以前
                dateFmt.dateFormat = @"MM-dd HH:mm";
            }
            // 返回处理后的结果
            return [dateFmt stringFromDate:msgDate];
        
    }
  • 相关阅读:
    剑指offer:平衡二叉树
    剑指offer:数组中只出现一次的数字
    剑指offer:数字在排序数组中出现的次数
    剑指offer:两个链表的第一个公共结点
    剑指offer:数组中的逆序对
    剑指offer:丑数
    leetcode171 Excel列表序列号
    leetcode172 阶乘后的零
    leetcode 297二叉树的序列化与反序列化
    leetcode 31下一个排列
  • 原文地址:https://www.cnblogs.com/xujiahui/p/8521999.html
Copyright © 2011-2022 走看看