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 @"";
        }
        
        
    }

  • 相关阅读:
    Exchange 2013 CU6补丁 被发现的问题一览
    HardyLittlewood极大函数的应用
    May 7th, 10:0011:00 am 1303, "Schrodinger Maps (III)" by Ioan Bejenaru
    April 10, 14:3017:00, 1569, "Concentrationcompactness/Rigidity method" by Yang Lan
    April 17, 14:3017:00, 1479, "Concentrationcompactness/Rigidity method" lecture 2 by Yang Lan
    一些基础的定义及事实集合
    问题: Schrodinger方程的非齐次Strichartz估计
    《调和分析与非线性发展方程》课程讲义
    April 24, 17:3020:00, 1479, "Concentrationcompactness/Rigidity method" lecture 3 by Yang Lan
    问题: Schrodinger方程的径向Strichartz估计的端点情形
  • 原文地址:https://www.cnblogs.com/ithongjie/p/5197502.html
Copyright © 2011-2022 走看看