IOS NSDate 扩展(自定义日历、日期对比、今天判断、昨天判断、本周判断、本月判断等)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sky_long_fly/article/details/85162001
#import <Foundation/Foundation.h>

@interface NSDate(ZXLExtension)

/** 是否为今天 */
-(BOOL)isToday;

/** 是否为昨天 */
- (BOOL)isYesterday;

/** 是否为本周内 */
- (BOOL)isThisWeak;

/** 是否为本月 */
- (BOOL)isThisMonth;

/** 是否为今年 */
- (BOOL)isThisYear;

/**本周星期几(注:中国式星期日为 7)*/
- (NSInteger)weekDay;

/**
 今天 00:00 :00  凌晨0时
 @return 日期
 */
+(NSDate *)today;

/**
 某年某月某日 转换为NSDate
 @param month 月
 @param day 日
 @param year 年
 @return NSDate
 */
+ (NSDate *)dateWithMonth:(NSUInteger)month day:(NSUInteger)day year:(NSUInteger)year;

/**本周星期一*/
+ (NSDate *)weekFirstDayWithToday;
/**某一天所在周星期一*/
+ (NSDate *)weekFirstDayWithDate:(NSString *)date;
/**某一天上周星期一*/
+ (NSDate *)frontWeekFirstDayWithDate:(NSString *)date;
/**某一天下周星期一*/
+ (NSDate *)nextWeekFirstDayWithDate:(NSString *)date;

/**
 某年某月的第一天时间
 @param month 月
 @param year 年
 @return NSDate
 */
+ (NSDate *)mothFirstDayWithMonth:(NSUInteger)month year:(NSUInteger)year;

/**
 今天 所在月的第一天
 @return NSDate
 */
+ (NSDate *)todayMothFirstDay;

/**
 指定时间的上个月的第一天
 @param date 指定时间
 @return 上个月的第一天
 */
+ (NSDate *)mothFirstDayWithFrontMonth:(NSDate *)date;

/**
 指定时间的下一个月的第一天
 @param date 指定时间
 @return 下月的第一天
 */
+ (NSDate *)mothFirstDayWithNextMonth:(NSDate *)date;


/**
 某年某月有多少天
 
 @param month 月
 @param year 年
 @return 天数
 */
+ (NSUInteger)daysInMonth:(NSUInteger)month ofYear:(NSUInteger)year;

/**
 某年某月的第一天是星期几
 
 @param month 月
 @param year 年
 @return 星期几
 */
+ (NSUInteger)firstWeekdayInMonth:(NSUInteger)month ofYear:(NSUInteger)year;


/**
 NSDateComponents 类型转 NSDate
 @param components NSDateComponents
 @return NSDate
 */
+ (NSDate *)dateFromDateComponents:(NSDateComponents *)components;

/**
 NSDate转NSDateComponents
 @param date date descriptionNSDate
 @return NSDateComponents
 */
+ (NSDateComponents *)dateComponentsFromDate:(NSDate *)date;

/**
 日期对比是否为同一天
 @param date 对比日
 @param otherDate 另一个对比日
 @return 是否一样
 */
+ (BOOL)compareDate:(NSDate *)date otherDate:(NSDate *)otherDate;

/**
 时间戳转 展示字符串
 规则 今天 12:12  昨天 12:12  12月12日 12:12 跨年 2018年12月12日 12:12
 @param dTime 时间戳
 @return 时间显示
 */
+(NSString *)doubleTimeChangeToShowString:(double)dTime;

/**
 星期转中文字符串
 
 @param weekday 星期几
 @return 中文字符串
 */
+ (NSString *)stringOfWeekdayInChinese:(NSUInteger)weekday;

@end

代码传送门

猜你喜欢

转载自blog.csdn.net/sky_long_fly/article/details/85162001