// // YMCalendarUtils.h // MSYOUPAI // // Created by YoMi on 2024/3/3. // Copyright © 2024 MS. All rights reserved. // #import NS_ASSUME_NONNULL_BEGIN @interface YMCalendarUtils : NSObject + (instancetype)shareCalender; /** 获取 date 对应的 农历 @param date 需要转换的 date @return 返回的农历 */ - (NSString *)calendarIdentifierChineseWithDate:(NSDate *)date; /** 计算总共有多少个月 @param dateStr 字符串时间 @return 返回的 年(无符号整型) */ //- (NSUInteger)getCurrentYearWith:(NSString *)dateStr; /** 获取当前月份的天数 @return 返回天数 */ - (NSInteger)getCurrentMonthForDays; /** 获取指定月份的天数 @param date 指定的时间 @return 返回天数 */ - (NSInteger)getNextNMonthForDays:(NSDate *)date; - (NSInteger)getSumOfDaysForYear:(NSString *)year month:(NSString *)month; /** 获取某个月 1 号 的NSDate对象 @param date 指定的某月 @return 指定的NSDate */ - (NSDate *)getAMonthframDate:(NSDate*)date; /** 计算某个月的 几 号 是星期几 @param date 指定的日期 @return 返回的星期 */ - (NSString *)getFirstDayWeekForMonth:(NSDate *)date; /** 计算某个月的 几 号 是星期几 @param date 指定的日期 @return 返回的星期 */ - (NSUInteger )getFirstDayWeekIntergerForMonth:(NSDate *)date; /** 获取当前系统的时间 @return 返回当前系统的字符串时间 */ - (NSString *)getCurrentTimeWithHourMinSecond:(BOOL)flag; - (int)getYear; - (int)getMonth; - (int)getDay; - (int)getHour; - (int)getMinute; - (int)getSecond; - (NSInteger)getYearWithDate:(NSDate *)date; - (NSInteger)getMonthWithDate:(NSDate *)date; - (NSInteger)getDayWithDate:(NSDate *)date; - (NSInteger)getHourWithDate:(NSDate *)date; - (NSInteger)getMinuteWithDate:(NSDate *)date; - (NSInteger)getSecondWithDate:(NSDate *)date; /** 获取 指定时间 到 1970 的时间戳 @param dateStr 指定字符串时间 @param formatterStr 时间格式 @return 返回的时间戳 */ - (NSTimeInterval )timeIntervalWithDateStr:(NSString *)dateStr dateStrFormatterStr:(NSString *)formatterStr; /** 获取 当前时间的时间戳 @return 返回的时间戳 */ - (NSTimeInterval )currentTimeInterval; /** 字符串时间 --> NSDate @param dateStr 字符串时间 @param formatterStr 时间格式 @return 返回的NSDate */ - (NSDate *)dateWithDateStr:(NSString *)dateStr dateStrFormatterStr:(NSString *)formatterStr; /** NSDate --> 字符串时间 @param date 需要抓换的 NSDate @param formatterStr 时间格式 @return 返回的字符串时间 */ - (NSString *)dateStrWithDate:(NSDate *)date dateStrFormatterStr:(NSString *)formatterStr; /** 获取某个时间与当前时间之间的时间差(分钟) @param interval 需要比较的时间 @return 返回的差(分钟) */ - (NSInteger )getDifferenceMinWithTimeInterval:(NSTimeInterval)interval; /** 获取 当前时间到已过时间的时间差 @param interval 已过时间的时间戳(从1970开始算) @return 返回的时间差 */ - (NSString *)getStandardTimeInterval:(NSTimeInterval)interval; /** 计算两个时间之间相差多少天 注意:两个时间 date 的格式必须一样,不然会有误差 @param fromDate 第一个时间 @param toDate 第二个时间 @return 返回的天数 */ - (NSInteger)numberOfDaysWithFromDate:(NSDate *)fromDate toDate:(NSDate *)toDate; /** 计算前一天或者后一天 @param later 是否是后一天 @param currentDateStr 要计算的日期 @return 返回的日期 */ - (NSString *)calculateMonthDay:(BOOL)later withCurrentDateStr:(NSString *)currentDateStr; /** 计算前一天或者后一天 @param later 是否是后一天 @param currentDateStr 要计算的日期 @return 返回的日期字典 */ - (NSDictionary *)calculateDate:(BOOL)later withCurrentDateStr:(NSString *)currentDateStr; /** 判断时间是否是今天 */ - (BOOL)isTodayWithDate:(NSDate *)date; @end NS_ASSUME_NONNULL_END