我想計算自上次應用啓動以來的月份數量。Xcode如何計算兩個日期之間的月份數
爲此,我將當前日期保存爲viewdidload
以NSUserdefaults
作爲字符串。
在我保存當前日期之前,我必須計算舊(已保存)日期和當前日期之間的月差。
我是使用NSDates編程的新手,有人能告訴我該怎麼做嗎?以及如何打印標籤計數?
希望你明白我的意思,也有人可以幫助我...
認爲丹尼斯
我想計算自上次應用啓動以來的月份數量。Xcode如何計算兩個日期之間的月份數
爲此,我將當前日期保存爲viewdidload
以NSUserdefaults
作爲字符串。
在我保存當前日期之前,我必須計算舊(已保存)日期和當前日期之間的月差。
我是使用NSDates編程的新手,有人能告訴我該怎麼做嗎?以及如何打印標籤計數?
希望你明白我的意思,也有人可以幫助我...
認爲丹尼斯
的首選方法是使用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可能是一個竅門;將日期存儲爲整數可能會更明智嗎?
您必須使用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