我在我的国家/地区时区年月日使用 DatePicker 没问题,但是选择器上有 AP 前缀,我不需要我如何才能使用它?
找了很多都没有
更新:
override func viewDidAppear(_ animated: Bool) {
datepicker2.datePickerMode = .date
datepicker2.timeZone = TimeZone(identifier: "IRST")
datepicker2.calendar = Calendar(identifier: .persian)
datepicker2.locale = Locale(identifier: "fa_IR")
datepicker2.date=self.minDate
datepicker2.addTarget(self, action: Selector("datepickerAction"), for: .valueChanged)
}
我需要我的本地日期和我的时区,这是 datePicker 初始化
func datepickerAction(){
let date = self.datepicker2.date
let components = Calendar.current.dateComponents([.month, .day,.year], from: date)
let hour = components.month
let minute = components.day
let yr=components.year
print(hour,minute,yr)
}
这是无法正常工作的监听器,无法更改日期。每次打印相同的日期。
截图
最佳答案
我认为你必须像这样在函数中传递参数......
override func viewDidAppear(_ animated: Bool) {
datepicker2.datePickerMode = .date
datepicker2.timeZone = TimeZone(identifier: "IRST")
datepicker2.calendar = Calendar(identifier: .persian)
datepicker2.locale = Locale(identifier: "fa_IR")
datepicker2.addTarget(self, action: #selector(datepickerAction(_:)), for: .valueChanged)
}
所以,现在您可以在选择器中每次更改时获取日期...
func datepickerAction(_ sender: UIDatePicker){
let date = self.datepicker2.date
let components = Calendar.current.dateComponents([.month, .day,.year], from: date)
let hour = components.month
let minute = components.day
let yr=components.year
print(hour,minute,yr)
}
关于swift - 将日期设置为 DatePicker 和监听器以更改值和删除 AR 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51725403/