首页 > 代码库 > 封装用于解析NSDate的便利的类

封装用于解析NSDate的便利的类

封装用于解析NSDate的便利的类

此类可以从NSDate中解析出年份,月份,日期,时,分,秒,毫秒,足够用来做好多事情了,现提供源码如下:

以下是核心的类:

TimeInfo.h 与 TimeInfo.m

////  TimeInfo.h//  ShowTime////  Created by YouXianMing on 14-10-16.//  Copyright (c) 2014年 YouXianMing. All rights reserved.//#import <Foundation/Foundation.h>@class HumanTimeInfo;@interface TimeInfo : NSObject+ (HumanTimeInfo *)humanCanUnderstandFromDate:(NSDate *)date;@end
////  TimeInfo.m//  ShowTime////  Created by YouXianMing on 14-10-16.//  Copyright (c) 2014年 YouXianMing. All rights reserved.//#import "TimeInfo.h"#import "HumanTimeInfo.h"static NSDateFormatter   *_dateFormatter;@implementation TimeInfo+ (void)initialize {    if (self == [TimeInfo class]) {        _dateFormatter            = [[NSDateFormatter alloc] init];        _dateFormatter.locale     = [[NSLocale alloc] initWithLocaleIdentifier:@"en_GB"];        _dateFormatter.timeZone   = [NSTimeZone timeZoneWithName:@"GMT"];        _dateFormatter.dateFormat = @"yyyy:MM:dd:MMM:MMMM:HH:mm:ss:aa:EEE:EEEE:SSS"; // SSSS    }}+ (HumanTimeInfo *)humanCanUnderstandFromDate:(NSDate *)date {    if (date != nil) {        NSArray *timeInfoArray = [[_dateFormatter stringFromDate:date] componentsSeparatedByString:@":"];        HumanTimeInfo *info    = [HumanTimeInfo new];        info.year              = timeInfoArray[0];        info.mounth            = timeInfoArray[1];        info.day               = timeInfoArray[2];        info.enMounth          = timeInfoArray[3];        info.fullEnMounth      = timeInfoArray[4];        info.hour              = timeInfoArray[5];        info.min               = timeInfoArray[6];        info.sec               = timeInfoArray[7];        info.amPm              = timeInfoArray[8];        info.enWeakday         = timeInfoArray[9];        info.fullWeakday       = timeInfoArray[10];        info.mSec              = timeInfoArray[11];                return info;    } else {        return nil;    }}@end

人类能够理解的信息类:

HumanTimeInfo.h 与 HumanTimeInfo.m

////  HumanTimeInfo.h//  ShowTime////  Created by YouXianMing on 14-10-16.//  Copyright (c) 2014年 YouXianMing. All rights reserved.//#import <Foundation/Foundation.h>@interface HumanTimeInfo : NSObject@property (nonatomic, strong) NSString *year;         // 2014@property (nonatomic, strong) NSString *mounth;       // 10@property (nonatomic, strong) NSString *day;          // 16@property (nonatomic, strong) NSString *enMounth;     // Oct@property (nonatomic, strong) NSString *fullEnMounth; // October@property (nonatomic, strong) NSString *hour;@property (nonatomic, strong) NSString *min;@property (nonatomic, strong) NSString *sec;@property (nonatomic, strong) NSString *amPm;         // 上午或者下午@property (nonatomic, strong) NSString *enWeakday;@property (nonatomic, strong) NSString *fullWeakday;@property (nonatomic, strong) NSString *mSec;         // 毫秒@end
////  HumanTimeInfo.m//  ShowTime////  Created by YouXianMing on 14-10-16.//  Copyright (c) 2014年 YouXianMing. All rights reserved.//#import "HumanTimeInfo.h"@implementation HumanTimeInfo@end

NSDate+CurrentTime.h 与 NSDate+CurrentTime.m

////  NSDate+CurrentTime.h//  ShowTime////  Created by YouXianMing on 14-10-16.//  Copyright (c) 2014年 YouXianMing. All rights reserved.//#import <Foundation/Foundation.h>@class HumanTimeInfo;@interface NSDate (CurrentTime)+ (HumanTimeInfo *)currentTime;+ (HumanTimeInfo *)dateFrom:(NSDate *)date;@end
////  NSDate+CurrentTime.m//  ShowTime////  Created by YouXianMing on 14-10-16.//  Copyright (c) 2014年 YouXianMing. All rights reserved.//#import "NSDate+CurrentTime.h"#import "HumanTimeInfo.h"#import "TimeInfo.h"@implementation NSDate (CurrentTime)+ (HumanTimeInfo *)currentTime{    return [TimeInfo humanCanUnderstandFromDate:[NSDate date]];}+ (HumanTimeInfo *)dateFrom:(NSDate *)date{    return [TimeInfo humanCanUnderstandFromDate:date];}@end

使用的话,给出NSDate,然后解析出来,就是这么简单:)

 

封装用于解析NSDate的便利的类