我有一个日期选择器,它返回一个 NSdate 值。我希望将秒数的日期值设置为 0。我有在 Objective c 中执行此操作的代码:
NSTimeInterval time = floor([date timeIntervalSinceReferenceDate] / 60.0) * 60.0;
return [NSDate dateWithTimeIntervalSinceReferenceDate:time];
其中date
是日期选择器的日期。那么如何快速实现这一点呢?
最佳答案
它在 Swift 中几乎相同:
let date = NSDate()
let ti = floor(date.timeIntervalSinceReferenceDate/60.0) * 60.0
let date1 = NSDate(timeIntervalSinceReferenceDate: ti)
使用 NSCalendar
方法也可以实现同样的效果:
let cal = NSCalendar.currentCalendar()
var date2 : NSDate?
cal.rangeOfUnit(.Minute, startDate: &date2, interval: nil, forDate: date)
这有一个很大的优点,那就是它可以很容易地适应 较大的时间单位,如天、月等,没有固定的时间单位 长度(例如,在有地区的地区,一天可以有 23、24 或 25 小时) 夏令时)。
关于swift - 如何将日期选择器日期更改为 NSDate 类型但秒数为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39397151/