zoukankan      html  css  js  c++  java
  • IOS 判断日期是今天,昨天还是明天

     
    - (NSString *)compareDate:(NSDate *)date{

        NSTimeInterval secondsPerDay = 24 * 60 * 60;
        NSDate *today = [[NSDate alloc] init];
        NSDate *tomorrow, *yesterday;

        tomorrow = [today dateByAddingTimeInterval: secondsPerDay];
        yesterday = [today dateByAddingTimeInterval: -secondsPerDay];

    // 10 first characters of description is the calendar date:
        NSString * todayString = [[today description] substringToIndex:10];
        NSString * yesterdayString = [[yesterday description] substringToIndex:10];
        NSString * tomorrowString = [[tomorrow description] substringToIndex:10];

        NSString * dateString = [[date description] substringToIndex:10];

        if ([dateString isEqualToString:todayString])
        {
            return @"今天";
        } else if ([dateString isEqualToString:yesterdayString])
        {
            return @"昨天";
        }else if ([dateString isEqualToString:tomorrowString])
        {
            return @"明天";
        }
        else
        {
            return dateString;
        }
    }
    //----------------------------------------------
     
    /**
    /////  和当前时间比较
    ////   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 @"";
        }
     
     
  • 相关阅读:
    mui 卡片视图 遮罩蒙版
    mui 滑块开关 进度条 以及如何获取值
    mui 普通新闻文字列表 图文新闻列表
    HDU4553 约会安排
    HDU4614 Vases and Flowers
    HDU 1540 Tunnel Warfare 线段树区间合并
    Codeforces Round #359 (Div. 1)
    POJ3264 Balanced Lineup 线段树区间最大值 最小值
    1351 topcoder 吃点心
    POJ 3321 Apple Tree(dfs序树状数组)
  • 原文地址:https://www.cnblogs.com/mafeng/p/5853464.html
Copyright © 2011-2022 走看看