【问题标题】:How to change date picker date to a NSDate type but with zero seconds如何将日期选择器日期更改为 NSDate 类型但零秒
【发布时间】:2015-12-04 11:53:10
【问题描述】:
我有一个日期选择器,它返回一个 NSdate 值。我希望将秒的日期值设置为 0。我有在目标 c 中执行此操作的代码
NSTimeInterval time = floor([date timeIntervalSinceReferenceDate] / 60.0) * 60.0;
return [NSDate dateWithTimeIntervalSinceReferenceDate:time];
date 是日期选择器的日期。那么如何快速实现呢?
【问题讨论】:
标签:
swift
datepicker
ios9
【解决方案1】:
在 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 小时在具有
夏令时)。