【发布时间】:2011-06-30 10:02:33
【问题描述】:
我有一个来自数据库的日期,格式为 2011-11-30 18:38:00 +0000,我需要从现在开始的日期差异。这怎么可能?我在做什么:-
NSDate* pDateEnd;
NSLog(@"PDateEnd=%@",pDateEnd); //it has value=2011-11-30 18:38:00 +0000
NSTimeInterval secForDeal = [pDateEnd timeIntervalSinceNow];
NSLog(@"secForDeal=%i",secForDeal);
if(secForDeal < 0)
return nil;
//////
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit;
NSCalendar *currentCalendar = [NSCalendar currentCalendar];
NSDateComponents* pRemainingDate = [[[NSDateComponents alloc] init] autorelease];
[pRemainingDate setHour:0];
[pRemainingDate setMinute:0];
[pRemainingDate setSecond:secForDeal];
//preparing date
NSDate *date = [currentCalendar dateFromComponents:pRemainingDate];
//again splitting date to components
NSDateComponents *comps = [currentCalendar components:unitFlags fromDate:date];
/////Generating the date
NSString* pRetTimeRemaining = [NSString stringWithFormat:@"%i Year %i Month %i days %i Hr %i Min",[comps year],[comps month],[comps day],[comps hour],[comps minute]];
///////
NSLog(@"pRetTimeRemaining=%@",pRetTimeRemaining);
return pRetTimeRemaining;
请告知是否有任何错误或其他方法。谢谢。
【问题讨论】:
-
你没有得到正确答案here?
标签: iphone