NSDate+CF.h
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
typedef NS_ENUM(NSInteger, NSDateFormaterMode) {
NSDateFormaterModeDefault,
NSDateFormaterModeTime,
NSDateFormaterModeDay,
NSDateFormaterModeDayAnother,
NSDateFormaterModeTimeSecond,
NSDateFormaterModeTimeMinute
};
@interface NSDateFormatter (CF)
+ (NSDateFormatter *)dateFormaterWithMode:(NSDateFormaterMode)formaterMode;
@end
@interface NSDate (CF)
@property (nonatomic, assign) NSInteger year;
@property (nonatomic, assign) NSInteger month;
@property (nonatomic, assign) NSInteger day;
@property (nonatomic, assign) NSInteger hour;
@property (nonatomic, assign) NSInteger minute;
@property (nonatomic, assign) NSInteger second;
@property (nonatomic, assign) NSInteger weekday;
@property (nonatomic, assign) NSInteger weekmonth;
@property (nonatomic, assign) NSInteger weekyear;
@property (nonatomic, copy) NSString *weekStr;
@property (nonatomic, copy) NSString *yesterday;
@property (nonatomic, copy) NSString *tomorrow;
@property (nonatomic, copy) NSString *dayAfterTomorrow;
+(NSDate *)dateToDate:(NSDate *)date formaterMode:(NSDateFormaterMode)formaterMode;
+(NSDate *)stringToDate:(NSString *)string formaterMode:(NSDateFormaterMode)formaterMode;
+(NSString *)dateToString:(NSDate *)date formaterMode:(NSDateFormaterMode)formaterMode;
+(NSString *)regularDateString:(NSString *)originalDate formaterMode:(NSDateFormaterMode)formaterMode;
+ (BOOL)isTodayWithDate:(NSDate *)date;
+ (BOOL)isYesterdayWithDate:(NSDate *)date;
+ (NSInteger)dayWithDate:(NSDate *)date;
+(NSString *)inputTimeStr:(NSString *)timeStr;
+(NSString *)intervalSinceFromDate:(NSString *)fromDate toDate:(NSString *)toDate dateModel:(NSDateFormaterMode)dateModel;
+(NSString *)timestampToDate:(NSString *)timestamp;
+ (int)compareOneDate:(NSDate *)date1 withAnotherDate:(NSDate *)date2;
+ (int)compareOneDateString:(NSString *)date1 withAnotherDateString:(NSString *)date2;
+(NSDictionary *)getChineseCalendarWithDate:(NSDate *)date;
+ (NSInteger)minuteStartTime:(NSString *)startTime endTime:(NSString *)endTime;
+ (NSString *)dateInterval:(NSDate *)date time:(NSInteger)minute;
+(NSDate *)getResultTime:(NSString *)time second:(NSInteger)second;
+(NSString *)getNowTimeTimestamp;
+(NSString *)getNowTimeTimestamp3;
+(NSString *)getUTCFormateLocalDate:(NSString *)localDate;
+(NSString *)getLocalDateFormateUTCDate:(NSString *)utcDate;
@end
NS_ASSUME_NONNULL_END
NSDate+CF.m
#import "NSDate+CF.h"
@implementation NSDateFormatter (CF)
+ (NSDateFormatter *)dateFormaterWithMode:(NSDateFormaterMode)formaterMode {
NSString *stringFormat = @"";
switch (formaterMode) {
case NSDateFormaterModeDefault:
stringFormat = @"yyyy-MM-dd HH:mm:ss";
break;
case NSDateFormaterModeTime:
stringFormat = @"yyyy-MM-dd HH:mm";
break;
case NSDateFormaterModeDay:
stringFormat = @"yyyy-MM-dd";
break;
case NSDateFormaterModeDayAnother:
stringFormat = @"yyyy年MM月dd日";
break;
case NSDateFormaterModeTimeSecond:
stringFormat = @"HH:mm:ss";
break;
case NSDateFormaterModeTimeMinute:
stringFormat = @"HH:mm";
break;
default:
stringFormat = @"yyyy-MM-dd HH:mm:ss";
break;
}
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:stringFormat];
return dateFormat;
}
@end
@implementation NSDate (CF)
#pragma mark - 年
-(NSInteger)year{
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitYear fromDate:self];
return [components year];
}
#pragma mark - 月
-(NSInteger)month{
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitMonth fromDate:self];
return [components month];
}
#pragma mark - 日
-(NSInteger)day{
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:NSCalendarUnitDay fromDate