我有UIDatePicker
的模式时间。日期选择器可让您选择一小时和分钟。我需要它来记住小时和分钟而不是秒。
当应用程序运行时,日期选择器将花费用户选择的小时和分钟,并添加从您所记录的时间到记忆时间的秒数。
我从UIDatePIcker选择下午2:00的一个例子,这就是我得到的:
2017-03-07 02:00:36 +0000
但是我想要将秒数设置为00或者像这样删除它们:
2017-03-07 02:00 +0000
2017-03-07 02:00:00 +0000
这是我的代码:
@IBOutlet var datePicker: UIDatePicker!
@IBAction func datePickerchanged(_ sender: Any) {
setDateAndTime()
Check()
let clockString: String = formatADate()
if str == clockString{
takePhoto = true
}
}
func setDateAndTime() {
timercount = Timer.scheduledTimer(timeInterval: 0, target: self, selector: #selector(Check), userInfo: nil, repeats: true)
let formatter = DateFormatter()
formatter.dateFormat = "hh:mm"
_ = formatter.string(from: datePicker.date)
str = dateFormatter.string(from: (datePicker?.date)!)
RunLoop.main.add(timercount, forMode: RunLoopMode.commonModes)
print("setdate ran")
Check()
}
func formatADate() -> String {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .short
dateFormatter.dateFormat = "hh:mm"
let date = NSDate()
let output = dateFormatter.string(from: date as Date)
print(output)
return output
}
func Check(){
let nowdate = NSDate()
let date2 = datePicker?.date
let elapsed = date2?.timeIntervalSince(nowdate as Date)
print(str)
print(Date())
print(datePicker.date)
if Int(elapsed!) == 0{
takePhoto = true
}
请帮忙
答案 0 :(得分:1)
要修改Date
,我更喜欢使用https://github.com/MatthewYork/DateTools。
let dateWithZeroSeconds = Date(year:datePicker.date.year, month:datePicker.date.month, day:datePicker.date.day, hour:datePicker.date.hour, minute:datePicker.date.minute, second:0)
您也可以使用DateComponents
进行类似的转换,但DateTools
是一个非常好的包装器。