zoukankan      html  css  js  c++  java
  • NSDate 工具

    #import "NSDate+XMGExtension.h"
    
    @implementation NSDate (XMGExtension)
    /**
     *  是否为今天
     */
    - (BOOL)isToday
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
        
        NSDateComponents *selfCmps = [calendar components:unit fromDate:self];
        NSDateComponents *nowCmps = [calendar components:unit fromDate:[NSDate date]];
        
        return selfCmps.year == nowCmps.year
        && selfCmps.month == nowCmps.month
        && selfCmps.day == nowCmps.day;
    }
    
    /**
     *  是否为昨天
     */
    - (BOOL)isYesterday
    {
        // 2015-04-01 10:10:10 -> 2015-04-01 00:00:00
        // 2015-03-31 23:50:40 -> 2015-03-31 00:00:00
        
        // 生成只有年月日的日期对象
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        
        NSString *selfString = [fmt stringFromDate:self];
        NSDate *selfDate = [fmt dateFromString:selfString];
        
        NSString *nowString = [fmt stringFromDate:[NSDate date]];
        NSDate *nowDate = [fmt dateFromString:nowString];
        
        // 比较差距
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
        NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:0];
        
        return cmps.year == 0
        && cmps.month == 0
        && cmps.day == 1;
    }
    
    /**
     *  是否为明天
     */
    - (BOOL)isTomorrow
    {
        // 生成只有年月日的日期对象
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        
        NSString *selfString = [fmt stringFromDate:self];
        NSDate *selfDate = [fmt dateFromString:selfString];
        
        NSString *nowString = [fmt stringFromDate:[NSDate date]];
        NSDate *nowDate = [fmt dateFromString:nowString];
        
        // 比较差距
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSCalendarUnit unit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
        NSDateComponents *cmps = [calendar components:unit fromDate:selfDate toDate:nowDate options:0];
        
        return cmps.year == 0
        && cmps.month == 0
        && cmps.day == -1;
    }
    
    /**
     *  是否为今年
     */
    - (BOOL)isThisYear
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSInteger selfYear = [calendar component:NSCalendarUnitYear fromDate:self];
        NSInteger nowYear = [calendar component:NSCalendarUnitYear fromDate:[NSDate date]];
        return selfYear == nowYear;
    }
    
    @end
  • 相关阅读:
    javascript 中的nextSibling和previousSibling使用注意事项
    inline-block(行内区块元素)的详解和应用
    createElement()结合appendChild()的实例
    JavaScript 的setAttribute兼容性解决
    css 雪碧图 及jquery定位代码
    jquery图片轮播代码
    jquery 的attr()方法解析
    用jquery修改默认的单选框radio或者复选框checkbox选择框样式
    html form <label>标签基础语法结构与使用案例教程(转载)
    CoreText
  • 原文地址:https://www.cnblogs.com/developer-ios/p/4917855.html
Copyright © 2011-2022 走看看