问题描述
我正在从datepicker中获取文本字段中的日期。在文本字段中获取正确的日期和时间,但是从dateFormatter时间不能正确显示,但是日期可以完美显示
这是我的代码
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yy,hh:mm a"
let dateFormate = dateFormatter.date(from: dateLabel.text!)
print("out put \(dateLabel.text!)")//log out put 8/25/20,3:40 PM
print("out put \(dateFormate)") // out put Optional(2020-08-25 10:08:00 +0000)
我输入正确的日期,但是为什么输入错误的时间呢?
注销put 8/25/20,3:40 PM // textfield o / p
输出put可选(2020-08-25 10:08:00 +0000)// dateFormate o / p
我在哪里弄错了,请帮我提供代码。
解决方法
根据您的要求,首先需要创建一个DateFormatter
来解析从dateLabel
到Date
对象的日期字符串:
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "M/d/yy,h:m a"
dateFormatter.locale = Locale(identifier: "in") // here place your locale identifier
let date = dateFormatter.date(from: dateLabel.text!)
,然后使用新的DateFormatter
将Date对象转换为您要打印的格式。例如:
let outputDateFormatter = DateFormatter()
outputDateFormatter.dateFormat = "M-d-yyyy,h:m a"
outputDateFormatter.locale = Locale(identifier: "in")
print(outputDateFormatter.string(from: date!))
,
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "MM/dd/yy,hh:mm a"
let date = dateFormatter.date(from: (dateLabel.text!))
print(dateFormatter.string(from: date!))