ios 时间的比较&&获得系统本地时间指定时区
- (BOOL)isEqualToDate:(NSDate *)otherDate;
与otherDate比较,相同返回YES
- (NSDate *)earlierDate:(NSDate *)anotherDate;
与anotherDate比较,返回较早的那个日期
- (NSDate *)laterDate:(NSDate *)anotherDate;
与anotherDate比较,返回较晚的那个日期
- (NSComparisonResult)compare:(NSDate *)other;
该方法用于排序时调用: .
当实例保存的日期值与anotherDate相同时返回NSOrderedSame
. 当实例保存的日期值晚于anotherDate时返回NSOrderedDescending .
当实例保存的日期值早于anotherDate时返回NSOrderedAscending
// 获得本地时间指定时区 NSDate *dates = [NSDate date];
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/beijing"];
[formatter setTimeZone:timeZone];
NSString *loctime = [formatter stringFromDate:dates];
-(NSDate *) stringToDate:string
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSDate *date = [dateFormatter dateFromString:string];
[dateFormatter release]; return date;
}
-(NSInteger)daysWithinEraFromDate:(NSDate *) startDate toDate:(NSDate *) endDate
{
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
unsigned int unitFlags = NSDayCalendarUnit;
NSDateComponents *comps = [gregorian components:unitFlags fromDate:startDate toDate:endDate options:0];
int days = [comps day]; return days;
}
本文介绍了在iOS中如何比较两个日期以及获取系统本地时间并指定时区的方法,包括isEqualToDate:方法、earlierDate:、laterDate:、compare:方法的使用,以及如何设置NSDateFormatter获取'Asia/Beijing'时区的时间,同时提供了将字符串转换为日期及计算两个日期之间相差天数的方法。

964

被折叠的 条评论
为什么被折叠?



