Created
August 29, 2013 14:55
-
-
Save zhangwc/6379165 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@interface NSDate(Conversion) | |
+ (NSDate *)dateFromString:(NSString *)dateString dateFormat:(NSString *)format; | |
+ (NSString *)stringFromDate:(NSDate *)date dateFormat:(NSString *)format; | |
+ (NSInteger)timeBetweenFrom:(NSDate*)fromDateTime | |
to:(NSDate*)toDateTime | |
withUnit:(NSCalendarUnit)unit; | |
@end | |
@implementation NSDate(Conversion) | |
+ (NSInteger)timeBetweenFrom:(NSDate*)fromDateTime | |
to:(NSDate*)toDateTime | |
withUnit:(NSCalendarUnit)unit { | |
NSDate *fromDate; | |
NSDate *toDate; | |
NSCalendar *calendar = [NSCalendar currentCalendar]; | |
[calendar rangeOfUnit:unit startDate:&fromDate interval:NULL forDate:fromDateTime]; | |
[calendar rangeOfUnit:unit startDate:&toDate interval:NULL forDate:toDateTime]; | |
NSDateComponents *difference = [calendar components:unit fromDate:fromDate toDate:toDate options:0]; | |
switch (unit) { | |
case NSYearCalendarUnit: | |
return [difference year]; | |
case NSMonthCalendarUnit: | |
return [difference month]; | |
case NSWeekCalendarUnit: | |
return [difference week]; | |
case NSDayCalendarUnit: | |
return [difference day]; | |
case NSHourCalendarUnit: | |
return [difference hour]; | |
case NSMinuteCalendarUnit: | |
return [difference minute]; | |
default: | |
NSAssert(NO, @"未定义"); | |
return -1001; | |
break; | |
} | |
} | |
+ (NSDate *)dateFromString:(NSString *)dateString dateFormat:(NSString *)format { | |
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | |
[dateFormatter setDateFormat: format]; | |
NSDate *destDate= [dateFormatter dateFromString:dateString]; | |
return destDate; | |
} | |
+ (NSString *)stringFromDate:(NSDate *)date dateFormat:(NSString *)format { | |
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; | |
[dateFormatter setDateFormat:format]; | |
NSString *destDateString = [dateFormatter stringFromDate:date]; | |
return destDateString; | |
} | |
@end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment