zoukankan      html  css  js  c++  java
  • NSDate 刚刚、几分钟、几小时

    - (NSString *)minutesAgo {

        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];

        fmt.dateFormat = @"yyyy-MM-dd HH:mm:ss";

        NSDate *createdDate = [fmt dateFromString:self];

        

        // 判断发送时间 和 现在时间 的差距

        if (createdDate.isToday) { // 今天

            if (createdDate.deltaWithNow.hour >= 1) {

                fmt.dateFormat = @"HH:mm";

                return [fmt stringFromDate:createdDate];

            } else if (createdDate.deltaWithNow.minute >= 1) {

                return [NSString stringWithFormat:@"%ld分钟前", (long)createdDate.deltaWithNow.minute];

            } else {

                return @"刚刚";

            }

        } else if (createdDate.isYesterday) { // 昨天

            fmt.dateFormat = @"昨天 HH:mm";

            return [fmt stringFromDate:createdDate];

        } else if (createdDate.isThisYear) { // 今年(至少是前天)

            fmt.dateFormat = @"MM-dd HH:mm";

            return [fmt stringFromDate:createdDate];

        } else {// 非今年

            fmt.dateFormat = @"yyyy-MM-dd HH:mm";

            return [fmt stringFromDate:createdDate];

        }

    }

    #pragma mark Comparing Dates

    - (BOOL) isEqualToDateIgnoringTime: (NSDate *) aDate

    {

    NSDateComponents *components1 = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:self];

    NSDateComponents *components2 = [CURRENT_CALENDAR components:DATE_COMPONENTS fromDate:aDate];

    return ((components1.year == components2.year) &&

    (components1.month == components2.month) &&

    (components1.day == components2.day));

    }

    - (BOOL) isToday

    {

    return [self isEqualToDateIgnoringTime:[NSDate date]];

    }

    - (BOOL) isYesterday

    {

    return [self isEqualToDateIgnoringTime:[NSDate dateYesterday]];

    }

    /**

     *  获得与当前时间的差距

     */

    - (NSDateComponents *)deltaWithNow {

        NSCalendar *calendar = [NSCalendar currentCalendar];

        int unit = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;

        return [calendar components:unit fromDate:self toDate:[NSDate date] options:0];

    }

    /**

     *  是否为今年

     */

    - (BOOL)isThisYear {

        NSCalendar *calendar = [NSCalendar currentCalendar];

        int unit = NSCalendarUnitYear;

        

        // 获得当前时间的年月日

        NSDateComponents *nowCmps = [calendar components:unit fromDate:[NSDate date]];

        

        // 获得self的年月日

        NSDateComponents *selfCmps = [calendar components:unit fromDate:self];

        

        return nowCmps.year == selfCmps.year;

    }

  • 相关阅读:
    C++ Primer Plus 第15章 友元、异常和其它
    03013_JDBC工具类
    python GUI编程(Tkinter)
    Python2.x与3​​.x版本区别
    【python教程】Python JSON
    【python教程】Python IDE
    通过Google Custom Search API 进行站内搜索
    支持wmv、mpg、mov、avi格式的网页视频播放代码
    编写更好的jQuery代码的建议
    KindEditor得不到textarea值的解决方法
  • 原文地址:https://www.cnblogs.com/chenzq12/p/6252103.html
Copyright © 2011-2022 走看看