我想知道是否有人可以幫我用我的方法。我有以下方法,該方法將爲零輸出一個的NSDate對象的秒值:NSDate零秒沒有四捨五入
- (NSDate *)dateWithZeroSeconds:(NSDate *)date {
NSTimeInterval time = round([date timeIntervalSinceReferenceDate]/60.0) * 60.0;
return [NSDate dateWithTimeIntervalSinceReferenceDate:time];
}
問題是,當過去的日期,例如:
2011-03-16 18:21:43 +0000
它返回:
2011-03-16 18:22:00 +0000
我不希望發生這種四捨五入,因爲它實際上是指定日期的用戶,所以它需要精確到他們請求的分鐘。
任何幫助,非常感謝。
+1這可能比干擾NSDateComponents的工作少。如果你想將分鐘或小時數而不是秒數計算出來,它將不起作用,但這裏應該沒問題,因爲秒數是NSDate的基本單位。 – Caleb 2011-03-16 18:35:12
不計算閏秒:http://en.wikipedia.org/wiki/Leap_second – 2014-07-30 23:50:01
@DarcyRayner:Cocoa的API基於NTP,因此無論如何內置API都不佔用閏秒。 – dreamlax 2015-09-16 12:20:56