我将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)
}
这是无法正常工作的侦听器,不会更改日期。每次打印相同的日期。
屏幕截图
答案 0 :(得分:1)
我认为您必须像这样在函数中传递参数...
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)
}