zoukankan      html  css  js  c++  java
  • NSDate分类,把系统返回的时间与现在进行比较---秀清

    //
    //  NSDate+Joe.h
    //  WeiBo
    //
    //  Created by 张秀清 on 15/9/17.
    //  Copyright (c) 2015年 张秀清. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    @interface NSDate (Joe)
    
    /**
     *  是否是今天
     */
    -(BOOL)isToday;
    /**
     *  是否是这个月
     */
    -(BOOL)isThisYear;
    /**
     *  是否是今年
     */
    -(BOOL)isThisMonth;
    /**
     *  是否为昨天
     */
    - (BOOL)isYesterday;
    
    /**
     *  返回'YYYY-MM-DD'的nsdate
     */
    - (NSDate *)dateWithYMD;
    
    /**
     *  返回与当前时间的差距
     */
    - (NSDateComponents *)deltaWithNow;
    @end
    
    
    
    //
    //  NSDate+Joe.m
    //  WeiBo
    //
    //  Created by 张秀清 on 15/9/17.
    //  Copyright (c) 2015年 张秀清. All rights reserved.
    //
    
    #import "NSDate+Joe.h"
    
    @implementation NSDate (Joe)
    
    -(BOOL)isToday
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        
        int NSCalendarUnit = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay;
        
        //获取当前的年月日
        NSDateComponents *nowCps = [calendar components:NSCalendarUnit fromDate:[NSDate date]];
        
        NSDateComponents *selfCps = [calendar components:NSCalendarUnit fromDate:self];
        
        return (nowCps.year == selfCps.year) && (nowCps.month == selfCps.month) && (nowCps.day == selfCps.day);
    }
    
    -(BOOL)isThisMonth
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        
        int NSCalendarUnit = NSCalendarUnitYear | NSCalendarUnitMonth;
        
        //获取当前的年月日
        NSDateComponents *nowCps = [calendar components:NSCalendarUnit fromDate:[NSDate date]];
        
        NSDateComponents *selfCps = [calendar components:NSCalendarUnit fromDate:self];
        
        return (nowCps.year == selfCps.year) && (nowCps.month == selfCps.month);
    
    }
    
    -(BOOL)isThisYear
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        
        int NSCalendarUnit = NSCalendarUnitYear;
        
        //获取当前的年月日
        NSDateComponents *nowCps = [calendar components:NSCalendarUnit fromDate:[NSDate date]];
        
        NSDateComponents *selfCps = [calendar components:NSCalendarUnit fromDate:self];
        
        return nowCps.year == selfCps.year;
    }
    
    /**
     *  是否为昨天
     */
    - (BOOL)isYesterday
    {
        // 2014-05-01
        NSDate *nowDate = [[NSDate date] dateWithYMD];
        
        // 2014-04-30
        NSDate *selfDate = [self dateWithYMD];
        
        // 获得nowDate和selfDate的差距
        NSCalendar *calendar = [NSCalendar currentCalendar];
        NSDateComponents *cmps = [calendar components:NSCalendarUnitDay fromDate:selfDate toDate:nowDate options:0];
        return cmps.day == 1;
    }
    
    /**
     *  返回'YYYY-MM-DD'的nsdate
     */
    - (NSDate *)dateWithYMD
    {
        NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
        fmt.dateFormat = @"yyyy-MM-dd";
        NSString *selfStr = [fmt stringFromDate:self];
        return [fmt dateFromString:selfStr];
    }
    
    /**
     *  返回与当前时间的差距
     */
    - (NSDateComponents *)deltaWithNow
    {
        NSCalendar *calendar = [NSCalendar currentCalendar];
        int unit = NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond;
        return [calendar components:unit fromDate:self toDate:[NSDate date] options:0];
    }
    @end
  • 相关阅读:
    将小度WiFi改造为无线网卡(小度WiFi能够接收WiFi信号)
    百度8秒教育片
    MATLAB r2014a 下载+安装+激活
    lsmod
    ipython与python的区别
    ssh远程登录Ubuntu报错:Permission denied, please try again.
    windows系统安装ubuntu后,grub中没有windows启动项
    面向对象三大特征
    进程和线程
    tar 命令
  • 原文地址:https://www.cnblogs.com/sixindev/p/4819949.html
Copyright © 2011-2022 走看看