0

我不知道 2 个 NSDate 之间到底有多少年。(当前日期和日期选择器日期)

我正在使用 NSTimeInterval (seconds) 如何使它达到几年?

此代码将使值为 Years:

NSTimeInterval distanceBetweenDates = [now timeIntervalSinceDate:date];

double secondsInAnYear = 31536000;
double YearsBetweenDates = distanceBetweenDates / secondsInAnYear;

NSString *dateString = [NSString stringWithFormat:@"%f", YearsBetweenDates];

labelView.text = dateString;

但我只得到 6 位小数!

我想要超过 6 位小数。如何?

4

2 回答 2

1

看看-[NSCalendar (NSDateComponents *)components:(NSUInteger)unitFlags fromDate:(NSDate *)startingDate toDate:(NSDate *)resultDate options:(NSUInteger)opts]。这样计算正确。您不能假设一年总是正好是 31536000 秒(闰年,甚至是偶尔添加的闰秒)。

于 2013-01-13T17:19:34.800 回答
0

您是否尝试过使用which 是/值%lf的指定说明符?long floatdouble

NSString *dateString = [NSString stringWithFormat:@"%lf", YearsBetweenDate];
于 2013-01-13T17:03:35.623 回答