timePicker的动作侦听器 [英] action listener for timePicker
问题描述
我有一个timePicker,如果用户更改textFiled上的时间字符串设置,我就将其声明为侦听器.
I have a timePicker which I have declared a listener if user change the time string sets on textFiled.
func timeFromAction(){
DispatchQueue.main.async {
self.timePickerFrom.datePickerMode = UIDatePickerMode.time
//self.timePickerFrom.minimumDate = self.minDate
print(self.minDate)
self.timePickerFrom.date = self.minDate // current date I have achieve from millisecond to date
self.timePickerFrom.locale = Locale(identifier: "fa_IR")
self.timePickerFrom.calendar = Calendar(identifier: Calendar.Identifier.persian)
self.timePickerFrom.timeZone = TimeZone(abbreviation: "IRST")
self.timePickerFrom.frame=CGRect(x: 0, y: 0, width: 288, height: 83)
self.timeOfLoading.addSubview(self.timePickerFrom)
self.timePickerFrom.addTarget(self, action: #selector(self.dateChangedFrom(_:)), for: .valueChanged)
}
}
这是侦听器功能:
func dateChangedFrom(_ sender: Any) {
let date = self.timePickerFrom.date
print(date)
let components = Calendar.current.dateComponents([.hour, .minute], from: date)
let hour = components.hour!
let minute = components.minute!
self.timeOfloadingLable.text = "\(hour):\(minute)"
}
所以问题是无论我是小时还是分钟,我都改变了时间.时间向前移动了1个小时.
so the problem is when I change the time no matter hour or minute.time goes 1 hour forward.
在侦听器函数中,我从timePicker获取日期,虽然我在其上设置了正确的日期,但在打印时它是错误的
in listener function I'm getting date from timePicker which when I print it it is wrong although I have set a correct date on it
更新:
self.minDate=self.crrnt.getComperehensiveDate()
这是我使用的功能:
func setComperehensiveDate(longDate:Double){
let dbl = TimeInterval(longDate)
let date = Date(timeIntervalSince1970: dbl / 1000)
resultDate = date
}
func getComperehensiveDate()->Date{
print("bbbbbb",resultDate!)
return resultDate!
}
时间是11:59,如下所示向我显示11:33
when time is 11:59 shows me 11:33 like below
观看此视频:链接
推荐答案
我刚刚检查了您的代码,它工作正常,请确保您的longDate
是正确的.
I just checked your code, It's working well, Please make sure your longDate
is correct.
您传递了错误的纪元时间.在此处检查您的纪元时间: https://www.epochconverter.com/
You're passing wrong epoch time. Check your epoch time here: https://www.epochconverter.com/
这篇关于timePicker的动作侦听器的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!