Swift UIDatePicker,选择日期显示提前一天
我有一个UIDatePicker,从picker中获取日期会显示与我选择的日期不同的日期(提前一天)Swift UIDatePicker,选择日期显示提前一天,swift,Swift,我有一个UIDatePicker,从picker中获取日期会显示与我选择的日期不同的日期(提前一天) For example, choosing May 2, 2019, shows 2019-05-01 这是我获取变量日期的地方: @objc func datePickerValueChanged(sender: UIDatePicker){ let dateFormatter = DateFormatter() dateFormatter.dateStyle = .
For example, choosing May 2, 2019, shows 2019-05-01
这是我获取变量日期的地方:
@objc func datePickerValueChanged(sender: UIDatePicker){
let dateFormatter = DateFormatter()
dateFormatter.dateStyle = .medium
dateTextField.text = dateFormatter.string(from: sender.date)
//Tag 9 is the startDateTextField, Tag 8 is the EndDateTextField
//We need this to know which variable should get the date choosen.
if dateTextField.tag == 9 {
startDateChoosen = sender.date
}else if dateTextField.tag == 8 {
endDateChoosen = sender.date
}
}
这是我在屏幕上看到的:
问题可能在于您使用的iPad/iPhone上设置的时区。确保设置中设置的时区与您当前所在的时区一致。您的图片显示的是5月2日。顺便说一句,与您的问题无关,但每次选择器更改时,您的代码都会创建一个新的DateFormatter。您应该将DateFormatter声明为控制器的属性,或者将其作为Formatter的静态属性。您在哪里看到
2019-05-01
?@rmaddy他可能正在打印it@rmaddy打印存储日期的变量。@LeoDabus谢谢,应该是5月2日,并显示给用户,问题在于我存储日期的变量,打印这个变量会提前一天。是的,日期格式化程序不应该在那里,我会修复它,谢谢!