objective-c - NSDate 将秒数归零而不四舍五入

标签 objective-c ios4 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

我不希望发生这种舍入,因为实际指定日期的是用户,所以它需要精确到他们请求的那一刻。

非常感谢任何帮助。

最佳答案

使用地板而不是圆形:

- (NSDate *)dateWithZeroSeconds:(NSDate *)date
{
    NSTimeInterval time = floor([date timeIntervalSinceReferenceDate] / 60.0) * 60.0;
    return  [NSDate dateWithTimeIntervalSinceReferenceDate:time];
}

关于objective-c - NSDate 将秒数归零而不四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5329985/

相关文章:

iPhone/iPad 旋转

iPhone:如何使 UI 导航 Controller 彼此内部?

ios - NSDate -dateFromString返回nil

objective-c - 计算夏令时后一天的 NSDate

ios - 两个日期之间的 NSDate

ios - 如何使用 Parse 保存数组?

iphone - 如何检索 UISwitch 的 UITableView 行号?

iOS Multipeer Connectivity didReceiveInvitationFromPeer 没有

ios - iphone 应用程序永远不会在设备上运行

iphone - GestureRecogniser 并禁用 UIScrollView 中 UIView 的拖动手势