123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- //
- // YMCalendarUtils.h
- // MSYOUPAI
- //
- // Created by YoMi on 2024/3/3.
- // Copyright © 2024 MS. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- 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
|