From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001 From: 单军华 Date: Wed, 11 Jul 2018 10:47:42 +0800 Subject: [PATCH] 首次上传 --- screendisplay/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h | 188 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 188 insertions(+), 0 deletions(-) diff --git a/screendisplay/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h b/screendisplay/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h new file mode 100755 index 0000000..d281902 --- /dev/null +++ b/screendisplay/Pods/YYCategories/YYCategories/Foundation/NSDate+YYAdd.h @@ -0,0 +1,188 @@ +// +// NSDate+YYAdd.h +// YYCategories <https://github.com/ibireme/YYCategories> +// +// Created by ibireme on 13/4/11. +// Copyright (c) 2015 ibireme. +// +// This source code is licensed under the MIT-style license found in the +// LICENSE file in the root directory of this source tree. +// + +#import <Foundation/Foundation.h> + +NS_ASSUME_NONNULL_BEGIN + +/** + Provides extensions for `NSDate`. + */ +@interface NSDate (YYAdd) + +#pragma mark - Component Properties +///============================================================================= +/// @name Component Properties +///============================================================================= + +@property (nonatomic, readonly) NSInteger year; ///< Year component +@property (nonatomic, readonly) NSInteger month; ///< Month component (1~12) +@property (nonatomic, readonly) NSInteger day; ///< Day component (1~31) +@property (nonatomic, readonly) NSInteger hour; ///< Hour component (0~23) +@property (nonatomic, readonly) NSInteger minute; ///< Minute component (0~59) +@property (nonatomic, readonly) NSInteger second; ///< Second component (0~59) +@property (nonatomic, readonly) NSInteger nanosecond; ///< Nanosecond component +@property (nonatomic, readonly) NSInteger weekday; ///< Weekday component (1~7, first day is based on user setting) +@property (nonatomic, readonly) NSInteger weekdayOrdinal; ///< WeekdayOrdinal component +@property (nonatomic, readonly) NSInteger weekOfMonth; ///< WeekOfMonth component (1~5) +@property (nonatomic, readonly) NSInteger weekOfYear; ///< WeekOfYear component (1~53) +@property (nonatomic, readonly) NSInteger yearForWeekOfYear; ///< YearForWeekOfYear component +@property (nonatomic, readonly) NSInteger quarter; ///< Quarter component +@property (nonatomic, readonly) BOOL isLeapMonth; ///< Weather the month is leap month +@property (nonatomic, readonly) BOOL isLeapYear; ///< Weather the year is leap year +@property (nonatomic, readonly) BOOL isToday; ///< Weather date is today (based on current locale) +@property (nonatomic, readonly) BOOL isYesterday; ///< Weather date is yesterday (based on current locale) + +#pragma mark - Date modify +///============================================================================= +/// @name Date modify +///============================================================================= + +/** + Returns a date representing the receiver date shifted later by the provided number of years. + + @param years Number of years to add. + @return Date modified by the number of desired years. + */ +- (nullable NSDate *)dateByAddingYears:(NSInteger)years; + +/** + Returns a date representing the receiver date shifted later by the provided number of months. + + @param months Number of months to add. + @return Date modified by the number of desired months. + */ +- (nullable NSDate *)dateByAddingMonths:(NSInteger)months; + +/** + Returns a date representing the receiver date shifted later by the provided number of weeks. + + @param weeks Number of weeks to add. + @return Date modified by the number of desired weeks. + */ +- (nullable NSDate *)dateByAddingWeeks:(NSInteger)weeks; + +/** + Returns a date representing the receiver date shifted later by the provided number of days. + + @param days Number of days to add. + @return Date modified by the number of desired days. + */ +- (nullable NSDate *)dateByAddingDays:(NSInteger)days; + +/** + Returns a date representing the receiver date shifted later by the provided number of hours. + + @param hours Number of hours to add. + @return Date modified by the number of desired hours. + */ +- (nullable NSDate *)dateByAddingHours:(NSInteger)hours; + +/** + Returns a date representing the receiver date shifted later by the provided number of minutes. + + @param minutes Number of minutes to add. + @return Date modified by the number of desired minutes. + */ +- (nullable NSDate *)dateByAddingMinutes:(NSInteger)minutes; + +/** + Returns a date representing the receiver date shifted later by the provided number of seconds. + + @param seconds Number of seconds to add. + @return Date modified by the number of desired seconds. + */ +- (nullable NSDate *)dateByAddingSeconds:(NSInteger)seconds; + + +#pragma mark - Date Format +///============================================================================= +/// @name Date Format +///============================================================================= + +/** + Returns a formatted string representing this date. + see http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns + for format description. + + @param format String representing the desired date format. + e.g. @"yyyy-MM-dd HH:mm:ss" + + @return NSString representing the formatted date string. + */ +- (nullable NSString *)stringWithFormat:(NSString *)format; + +/** + Returns a formatted string representing this date. + see http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns + for format description. + + @param format String representing the desired date format. + e.g. @"yyyy-MM-dd HH:mm:ss" + + @param timeZone Desired time zone. + + @param locale Desired locale. + + @return NSString representing the formatted date string. + */ +- (nullable NSString *)stringWithFormat:(NSString *)format + timeZone:(nullable NSTimeZone *)timeZone + locale:(nullable NSLocale *)locale; + +/** + Returns a string representing this date in ISO8601 format. + e.g. "2010-07-09T16:13:30+12:00" + + @return NSString representing the formatted date string in ISO8601. + */ +- (nullable NSString *)stringWithISOFormat; + +/** + Returns a date parsed from given string interpreted using the format. + + @param dateString The string to parse. + @param format The string's date format. + + @return A date representation of string interpreted using the format. + If can not parse the string, returns nil. + */ ++ (nullable NSDate *)dateWithString:(NSString *)dateString format:(NSString *)format; + +/** + Returns a date parsed from given string interpreted using the format. + + @param dateString The string to parse. + @param format The string's date format. + @param timeZone The time zone, can be nil. + @param locale The locale, can be nil. + + @return A date representation of string interpreted using the format. + If can not parse the string, returns nil. + */ ++ (nullable NSDate *)dateWithString:(NSString *)dateString + format:(NSString *)format + timeZone:(nullable NSTimeZone *)timeZone + locale:(nullable NSLocale *)locale; + +/** + Returns a date parsed from given string interpreted using the ISO8601 format. + + @param dateString The date string in ISO8601 format. e.g. "2010-07-09T16:13:30+12:00" + + @return A date representation of string interpreted using the format. + If can not parse the string, returns nil. + */ ++ (nullable NSDate *)dateWithISOFormatString:(NSString *)dateString; + +@end + +NS_ASSUME_NONNULL_END -- Gitblit v1.8.0