此类可以从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,然后解析出来,就是这么简单:)
时间: 2024-11-08 20:24:20