zoukankan      html  css  js  c++  java
  • 为 NSDate 添加扩展类 判断时间

    #import "NSDate+Extension.h"
    
    @implementation NSDate (Extension)
    
    /**
     *  判断某个时间是否为今年
     */
    - (BOOL)isThisYear
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        // 获得某个时间的年月日时分秒
        NSDateComponents *dateCmps = [calendar components:NSCalendarUnitYear fromDate:self];
        NSDateComponents *nowCmps = [calendar components:NSCalendarUnitYear fromDate:[NSDate date]];
        return dateCmps.year == nowCmps.year;
    }
    
    /**
     *  判断某个时间是否为昨天
     */
    - (BOOL)isYesterday
    {
        NSDate *now = [NSDate date];
        
        // date ==  2014-04-30 10:05:28 --> 2014-04-30 00:00:00
        // now == 2014-05-01 09:22:10 --> 2014-05-01 00:00:00
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        
        // 2014-04-30
        NSString *dateStr = [fmt stringFromDate:self];
        // 2014-10-18
        NSString *nowStr = [fmt stringFromDate:now];
        
        // 2014-10-30 00:00:00
        NSDate *date = [fmt dateFromString:dateStr];
        // 2014-10-18 00:00:00
        now = [fmt dateFromString:nowStr];
        
        NSCalendar *calendar = [NSCalendar currentCalendar];
        
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
        NSDateComponents *cmps = [calendar components:unit fromDate:date toDate:now options:0];
        
        return cmps.year == 0 && cmps.month == 0 && cmps.day == 1;
    }
    
    /**
     *  判断某个时间是否为今天
     */
    - (BOOL)isToday
    {
        NSDate *now = [NSDate date];
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        
        NSString *dateStr = [fmt stringFromDate:self];
        NSString *nowStr = [fmt stringFromDate:now];
        
        return [dateStr isEqualToString:nowStr];
    }
  • 相关阅读:
    ActiveMQ (一) 简介
    MSMQ .NET下的应用
    MSMQ
    RabbitMq C# .net 教程
    Rabbit MQ
    Dynamics 365—脚本
    DNS服务器地址汇总
    特殊字符 编码
    4s前置摄像头调用
    登陆前后导航栏处理 2015-12-12
  • 原文地址:https://www.cnblogs.com/521it/p/4958625.html
Copyright © 2011-2022 走看看