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];
        
    }
  • 相关阅读:
    C# Array.Sort 省内排序
    Centos7开机启动tomcat8
    使用GeoWebCache发布ArcGIS切片地图(实现高清电子地图)
    获取经纬度之间距离的Java工具类
    centos7上安装rar解压软件
    GeoServer之发布Geotiff存在的问题
    $GPRMC解析
    如何在IDEA单元测试中使用Scanner获取输入内容
    GeoServer修改使用内存
    Github无法访问解决办法
  • 原文地址:https://www.cnblogs.com/xujiahui/p/8521999.html
Copyright © 2011-2022 走看看