2011-06-25 182 views
0

我想計算自上次應用啓動以來的月份數量。Xcode如何計算兩個日期之間的月份數

爲此,我將當前日期保存爲viewdidloadNSUserdefaults作爲字符串。

在我保存當前日期之前,我必須計算舊(已保存)日期和當前日期之間的月差。

我是使用NSDates編程的新手,有人能告訴我該怎麼做嗎?以及如何打印標籤計數?

希望你明白我的意思,也有人可以幫助我...

認爲丹尼斯

回答

0

的首選方法是使用NSCalendar

-(int)differenceInMonthsFrom:(NSDate*)older to:(NSDate*)younger { 
    NSCalendar *calendar=[NSCalendar currentCalendar]; 
    NSDateComponents *components=[calendar components:NSMonthCalendarUnit fromDate:older toDate:younger options:0]; 
    return [components month]; 
} 

請注意,此功能不檢查排序。從你存儲的字符串到NSDate可能是一個竅門;將日期存儲爲整數可能會更明智嗎?

0

您必須使用NSDate對象。例如:

NSDate *now=[NSDate date]; // this is **now** date object 
NSDate *lastSaved=[NSdate lastDate]; // this is last saved object 
NSComparisonResult duration=[now timeIntervalSinceDate:lastSaved]; //this will return time interval between this 2 date object in seconds 
hoursInterval=duration/3600; // this will return hours of interval between this 2 date 
daysInterval=hoursInterval/24; // this will return days interval between this 2 date 
monthsInterval=daysInterval/30; // and this will return month interval between this 2 date 
相關問題