zoukankan      html  css  js  c++  java
  • 判断日期是昨天,今天,明天,后天,其他的显示星期

    DayClass.h
    #import <Foundation/Foundation.h>
    
    @interface DayClass : NSObject
    
    - (NSString *)dateToStr:(NSDate *)date;
    
    @end
    
    DayClass.m
    #import "DayClass.h"
    
    enum{
        Sun = 1,
        Mon,
        Tue,
        Wed,
        Thu,
        Fri,
        Sat
    };
    
    @implementation DayClass
    
    
    - (NSString *)dateToStr:(NSDate *)date
    {
        NSString *flagString = nil;
        
        // 当前日期
        int currentDate = [self getIntegerFromDate:[NSDate date]];
        // 目标日期
        int tar = [self getIntegerFromDate:date];
        // 时间差
        int diff = tar - currentDate;
        
        if ( diff < 3 && diff >= 0)
        {
            switch (diff)
            {
                case 0:
                    flagString = @"今天";
                    break;
                case 1:
                    flagString = @"明天";
                    break;
                case 2:
                    flagString = @"后天";
                    break;
                default:
                    break;
            }
        }
        else if (diff == -1)
        {
            flagString = @"昨天";
        }
        else
        {
            NSCalendar* clendar = [ [ NSCalendar alloc ] initWithCalendarIdentifier:NSChineseCalendar];
            NSUInteger unitFlags = NSWeekdayCalendarUnit;
            NSDateComponents *cps = [clendar components:unitFlags fromDate:date ];
            switch ([cps weekday]) {
                case Sun:
                    flagString = @"星期天";
                    break;
                case Mon:
                    flagString = @"星期一";
                    break;
                case Tue:
                    flagString = @"星期二";
                    break;
                case Wed:
                    flagString = @"星期三";
                    break;
                case Thu:
                    flagString = @"星期四";
                    break;
                case Fri:
                    flagString = @"星期五";
                    break;
                case Sat:
                    flagString = @"星期六";
                    break;
                default:
                    break;
            }
        }
        
        return flagString ;
    }
    
    - (int)getIntegerFromDate:(NSDate *)date
    {
        NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
        [formatter setDateFormat:@"yyyyMMdd"];
        NSString *todayStr = [formatter stringFromDate:date];
        int presentDay = [todayStr intValue];
        return presentDay;
    }
    
    @end
    
    // 使用
      NSString* string = @"20140211";
      NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init];
      [inputFormatter setDateFormat:@"yyyyMMdd"];
      NSDate* inputDate = [inputFormatter dateFromString:string];
            
      DayClass *day = [[DayClass alloc]init];
      NSLog(@"%@",[day dateToStr:inputDate]);
  • 相关阅读:
    解决 git 同步时 Everything up-to-date
    vs2019 git Authentication failed for xxx
    vs2015发布项目到虚拟主机组策略阻止csc.exe程序问题
    vs2017 使用 reportviewer
    var,dynamic的用法
    水晶报表报无法在资源中找到报表,请重新创建项目 错误
    css隐藏元素的方法
    css-浮动与清除浮动的原理详解(清除浮动的原理你知道吗)
    正则并不适合严格查找子串
    浏览器加载、渲染过程总结
  • 原文地址:https://www.cnblogs.com/joesen/p/3540207.html
Copyright © 2011-2022 走看看