时间相关类和主要方法NSDateFormatter,NSDate,NSCalendar,NSDateComponents,NSTimeZone

总的说来

时间与字符串相关的,可以使用NSDateFormatter

时间与 年丶月丶日丶时丶分丶秒丶周相关的,可以使用NSCalendar和NSDateComponents

时间与地区相关的,可以使用NSTimeZone

1,NSDateFormatter 

日期转字符串 

- (NSString *)stringFromDate:(NSDate *)date; 

字符串转日期

 - (nullable NSDate *)dateFromString:(NSString *)string;  

2,NSdate 

获取格林威治时间

 + (instancetype)date; 

获取本地的localDate方法:

NSTimeZone * zone = [NSTimeZone systemTimeZone];

NSDate * localDate = [[NSDate date]dateByAddingTimeInterval:zone.secondsFromGMT];

 3,NSCalendar 

主要属性

NSCalendar *currentCalendar;

NSCalendarIdentifier calendarIdentifier;

NSLocale *locale;NSTimeZone *timeZone;      ***NSTimeZone***

NSUInteger firstWeekday;

NSUInteger minimumDaysInFirstWeek;  

NSDateComponents转NSDate

 - (nullable NSDate *)dateFromComponents:(NSDateComponents *)comps; 

- (nullable NSDate *)dateByAddingComponents:(NSDateComponents *)comps toDate:(NSDate *)date options:(NSCalendarOptions)opts;

 - (nullable NSDate *)dateByAddingUnit:(NSCalendarUnit)unit value:(NSInteger)value toDate:(NSDate *)date options:(NSCalendarOptions)options 

- (nullable NSDate *)dateBySettingUnit:(NSCalendarUnit)unit value:(NSInteger)v ofDate:(NSDate *)date options:(NSCalendarOptions)opts 

- (nullable NSDate *)dateBySettingHour:(NSInteger)h minute:(NSInteger)m second:(NSInteger)s ofDate:(NSDate *)date options:(NSCalendarOptions)opts

 NSDate转NSDateComponents 

- (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *)date; 

- (NSDateComponents *)components:(NSCalendarUnit)unitFlags fromDate:(NSDate *)startingDate toDate:(NSDate *)resultDate options:(NSCalendarOptions)opts; 

- (NSInteger)component:(NSCalendarUnit)unit fromDate:(NSDate *)date NS_AVAILABLE; 

- (NSDateComponents *)componentsInTimeZone:(NSTimeZone *)timezone fromDate:(NSDate *)date  

 4,NSDateComponents

NSCalendar *calendar      ***NSCalendar***

NSTimeZone *timeZone      ***NSTimeZone***

NSInteger era;

NSInteger year;

NSInteger month;

NSInteger day;

NSInteger hour;

NSInteger minute;

NSInteger second;

NSInteger nanosecondNSInteger weekday;

NSInteger weekdayOrdinal;

NSInteger quarter

NSInteger weekOfMonth

NSInteger weekOfYear

NSInteger yearForWeekOfYear

(getter=isLeapMonth) BOOL leapMonth

(nullable, readonly, copy) NSDate *date      ***NSDate*** 

- (void)setValue:(NSInteger)value forComponent:(NSCalendarUnit)unit NS_AVAILABLE(10_9, 8_0);

- (NSInteger)valueForComponent:(NSCalendarUnit)unit NS_AVAILABLE(10_9, 8_0);  

5,NSTimeZone

NSString *name;NSData *data;

NSTimeZone *systemTimeZone;

NSTimeZone *defaultTimeZone;

NSTimeZone *localTimeZone;

NSArray*knownTimeZoneNames;

NSDictionary*abbreviationDictionary

NSInteger secondsFromGMT;

NSString *abbreviation;

- (NSInteger)secondsFromGMTForDate:(NSDate *)aDate;

- (nullable NSString *)abbreviationForDate:(NSDate *)aDate;

+ (nullable instancetype)timeZoneWithName:(NSString *)tzName;

+ (nullable instancetype)timeZoneWithName:(NSString *)tzName data:(nullable NSData *)aData;

- (nullable instancetype)initWithName:(NSString *)tzName;

- (nullable instancetype)initWithName:(NSString *)tzName data:(nullable NSData *)aData;

+ (instancetype)timeZoneForSecondsFromGMT:(NSInteger)seconds;

+ (nullable instancetype)timeZoneWithAbbreviation:(NSString *)abbreviation;

你可能感兴趣的:(时间相关类和主要方法NSDateFormatter,NSDate,NSCalendar,NSDateComponents,NSTimeZone)