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

     
  • 相关阅读:
    C#新功能--命名参数与可选参数
    C#新功能--命名参数
    初识SqlLite ---.net连接数据库
    混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...
    看到他我一下子就悟了-- 泛型(2)
    ExtJS4中设置tabpanel的tab高度问题
    java学习1-环境搭建
    oracle获取clob调优
    oracle job定时执行存储过程
    【转】【真正福利】成为专业程序员路上用到的各种优秀资料、神器及框架
  • 原文地址:https://www.cnblogs.com/qq449832375/p/4719371.html
Copyright © 2011-2022 走看看