如果您查看iPhone闹钟应用程序,可以看到,如果我没有在日期选择器中设置时间,则闹钟设置为当前时间。
@IBAction func selectAlarm(_ sender: Any) {
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .none
dateFormatter.timeStyle = .short
let date = dateFormatter.string(from: datePicker.date)
print("date : \(date)")
}
上面的代码输出datePicker移动时设置的时间。如何在不移动datePicker的情况下默认输出当前时间?
答案 0 :(得分:1)
尝试一下
@IBAction func selectAlarm(_ sender: Any) {
let newDatePicker = UIDatePicker()
newDatePicker.date = Date()
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm:ss"
let currentTime = dateFormatter.string(from: newDatePicker.date)
print("time : \(currentTime)")
self.yourTextField.text = currentTime
}
答案 1 :(得分:0)
将datePicker.date放在func selectAlarm()之外,例如:在viewDidLoad()中
override func viewDidLoad() {
super.viewDidLoad()
datePicker.datePickerMode = .time
datePicker.date = Date()
}
答案 2 :(得分:0)
即使没有移动datePicker,日期选择器也可以工作并给出日期。我已经测试过了 @IBAction func getCurrentTime(){
var formatter = DateFormatter()
formatter.dateFormat = "DD/MM/YY"
var dd = formatter.string(from: datePicker.date)
print(dd)
}
问题出在您的代码上。