首页 > 代码库 > 封装用于解析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的便利的类
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。