我正在创建一个应用,您可以在其中发布有关当前发生的事件的信息。我希望用户能够指定直到事件何时运行到。如何将结束日期上载到firebase,以便在将日期检索到我的swift应用程序时,将比较本地时间和事件的结束时间,因此我会告诉用户事件是否仍在继续。 / p>
因此,在帖子中,我有一个UIDatePicker类型为.time,并且我的最小值是本地时间。我已将时间作为字符串上传到Firebase,例如,在我的实时数据库中,我具有以下字段endingAt: "Optional(2019-06-18 02:29:54 +0000)"
,但是我认为这是不正确的,因为其为字符串格式,并且我认为无法将字符串转换为日期。我认为解决此问题的方法是提供一个从结束日期开始的秒数时间戳,并查看本地时间的秒数并进行比较。
timePickerView = UIDatePicker()
timePickerView?.datePickerMode = .time
timePicker.inputView = timePickerView
timePickerView?.addTarget(self, action: #selector(dateChanged(timePickerView:)), for: .valueChanged)
//Getting the current time
let now = Date()
timePickerView?.minimumDate = now
//Formatting the time
let formatter = DateFormatter()
formatter.timeZone = TimeZone.current
formatter.dateFormat = "HH:mm a"
let dateString = formatter.string(from: now)
}
@objc func dateChanged(timePickerView: UIDatePicker){
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "HH:mm a"
let selectedtime: String = dateFormatter.string(from: timePickerView.date)
self.timePicker.text = selectedtime
}
要引用代码: timePickerView = UIDatePicker和 timePicker = UITextField