zoukankan      html  css  js  c++  java
  • 时间日期判断实例

    直接看代码吧:

    //  Created by cctv on 15/8/7.

    //  Copyright (c) 2015年 cctv. All rights reserved.

    //

    #import "NSString+add.h"

    #import "NSDate+add.h"

    @implementation NSString (add)

    + (NSString *)stringWithDateString:(NSString*) dateString

    {
         //  dateString -> @"Mon Nov 02 19:32:59 +0800 2015"

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

        dateF.dateFormat = @"EEE MMM dd HH:mm:ss Z yyyy";

        dateF.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-AS"];

       [dateF dateFromString:dateString];

        // 创建时间

        NSDate *date = [dateF dateFromString:dateString];

        //判断创建时间与当前时间的关系

        if (date.dateIsThisDay) {

            NSDateComponents *dateComp = [date dateIsToday];

            if (dateComp.hour >= 1) {

                dateF.dateFormat = [NSString stringWithFormat:@"%d小时前",dateComp.hour];

                return [dateF stringFromDate:date];

            }else if(dateComp.minute >= 1 ){

                dateF.dateFormat = [NSString stringWithFormat:@"%d分钟前",dateComp.minute];

                return [dateF stringFromDate:date];

            }else{

                return @"刚刚";

            }

        }else if (date.dateIsYesterDay){

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

            return [dateF stringFromDate:date];

        }else if(date.dateIsThisYear){

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

            return [dateF stringFromDate:date];

        }else{

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

            return [dateF stringFromDate:date];

        }

    }

    @end

    --------。。。。。------

    #import "NSDate+add.h"

    @implementation NSDate (add)

    - (BOOL)dateIsThisYear

    {

        NSCalendar *calendar = [NSCalendar currentCalendar];

        NSDateComponents *nowComp = [calendar components:(NSCalendarUnitYear) fromDate:[NSDate date]];

        NSDateComponents *selfComp = [calendar components:(NSCalendarUnitYear) fromDate:self];

        return nowComp.year == selfComp.year;

    }

    - (BOOL)dateIsThisDay

    {

        NSCalendar *calendar = [NSCalendar currentCalendar];

        NSDateComponents *nowComp = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:[NSDate date]];

        NSDateComponents *selfComp = [calendar components:(NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay) fromDate:self];

        return nowComp.year == selfComp.year && nowComp.month == selfComp.month && nowComp.day == selfComp.day;

    }

    - (BOOL)dateIsYesterDay

    {

    NSCalendar *calendar = [NSCalendar currentCalendar];

        // 当前时间

        NSDateComponents *now = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:[NSDate date]];

        now.hour = 0;

        now.minute = 0;

        now.second =0;

        NSDate *nowTime = [calendar dateFromComponents:now];

        // 需要比较的时间

        NSDateComponents *isMe = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:self];

        isMe.hour = 0;

        isMe.minute = 0;

        isMe.second =0;

        NSDate *isMeTime = [calendar dateFromComponents:isMe];

        NSDateComponents *cctv = [calendar components:NSCalendarUnitDay fromDate:isMeTime toDate:nowTime options:0];

        if (cctv.Year == 0 &&  cctv.Month == 0 && cctv.day == 1) {

            return YES;

        }else {

            return NO;

        }

    }

    - (NSDateComponents*)dateIsToday

    {

        NSCalendar *calendar = [NSCalendar currentCalendar];

        NSDateComponents *dateComp = [calendar components:NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond fromDate:self toDate:[NSDate date] options:0];

           return dateComp;

    }

    @end

     
  • 相关阅读:
    一件重要的事想要告诉大家 AlexCool
    经典永不过时!重温设计模式 AlexCool
    腾讯云网络核心技术演进实践|好文推荐 AlexCool
    经典永驻,重温设计模式 |硬核! AlexCool
    linux网络全景指南 AlexCool
    Linux调度系统全景指南(终结篇) AlexCool
    大厂的面试官是如何挑人的? AlexCool
    中国大学MOOC数据结构基础习题集、023、求前缀表达式的值
    中国大学MOOC数据结构基础习题集、041、Root of AVL Tree
    中国大学MOOC数据结构基础习题集、052、Saving James Bond Easy Version
  • 原文地址:https://www.cnblogs.com/qq449832375/p/4719371.html
Copyright © 2011-2022 走看看