zoukankan      html  css  js  c++  java
  • 时间比较

    /**
    /////  和当前时间比较
    ////   1)1分钟以内 显示        :    刚刚
    ////   2)1小时以内 显示        :    X分钟前
    ///    3)今天或者昨天 显示      :    今天 09:30   昨天 09:30
    ///    4) 今年显示              :   09月12日
    ///    5) 大于本年      显示    :    2013/09/09
    **/

    + (NSString *)formateDate:(NSString *)dateString withFormate:(NSString *) formate
    {
        
        @try {
            //实例化一个NSDateFormatter对象
            NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
            [dateFormatter setDateFormat:formate];
            
            NSDate * nowDate = [NSDate date];
            
            /////  将需要转换的时间转换成 NSDate 对象
            NSDate * needFormatDate = [dateFormatter dateFromString:dateString];
            /////  取当前时间和转换时间两个日期对象的时间间隔
            /////  这里的NSTimeInterval 并不是对象,是基本型,其实是double类型,是由c定义的:  typedef double NSTimeInterval;
            NSTimeInterval time = [nowDate timeIntervalSinceDate:needFormatDate];
            
            //// 再然后,把间隔的秒数折算成天数和小时数:
            
            NSString *dateStr = @"";
            
            if (time<=60) {  //// 1分钟以内的
                dateStr = @"刚刚";
            }else if(time<=60*60){  ////  一个小时以内的
                
                int mins = time/60;
                dateStr = [NSString stringWithFormat:@"%d分钟前",mins];
                
            }else if(time<=60*60*24){   //// 在两天内的
                
                [dateFormatter setDateFormat:@"YYYY/MM/dd"];
                NSString * need_yMd = [dateFormatter stringFromDate:needFormatDate];
                NSString *now_yMd = [dateFormatter stringFromDate:nowDate];
                
                [dateFormatter setDateFormat:@"HH:mm"];
                if ([need_yMd isEqualToString:now_yMd]) {
                    //// 在同一天
                    dateStr = [NSString stringWithFormat:@"今天 %@",[dateFormatter stringFromDate:needFormatDate]];
                }else{
                    ////  昨天
                    dateStr = [NSString stringWithFormat:@"昨天 %@",[dateFormatter stringFromDate:needFormatDate]];
                }
            }else {
                
                [dateFormatter setDateFormat:@"yyyy"];
                NSString * yearStr = [dateFormatter stringFromDate:needFormatDate];
                NSString *nowYear = [dateFormatter stringFromDate:nowDate];
                
                if ([yearStr isEqualToString:nowYear]) {
                    ////  在同一年
                    [dateFormatter setDateFormat:@"MM月dd日"];
                    dateStr = [dateFormatter stringFromDate:needFormatDate];
                }else{
                    [dateFormatter setDateFormat:@"yyyy/MM/dd"];
                    dateStr = [dateFormatter stringFromDate:needFormatDate];
                }
            }
            
            return dateStr;
        }
        @catch (NSException *exception) {
            return @"";
        }
        
        
    }

  • 相关阅读:
    Python中的赋值(复制)、浅拷贝与深拷贝
    review
    Python网络编程
    云计算网络 ASW DSW CSW LSW
    Python文件操作 I/O
    RSI 指标
    python 常见模块
    Python模块和包
    读利弗莫尔
    GDP、CPI、M2
  • 原文地址:https://www.cnblogs.com/ithongjie/p/5197502.html
Copyright © 2011-2022 走看看