问题描述
我已经按照代码分隔了日期和时间,然后我使用了DateFormatter
,但日期未正确输入。为什么?
像这样来:可选(“ 08/15/0020”)
var formateFromdate: String?
var formatetodate: String?
func addDate(){
var fromDateArr = fromDateLabel.text!.components(separatedBy: ",")
fromDate = fromDateArr[0]
fromTime = fromDateArr[1].replacingOccurrences(of: " ",with: "")
var toDateArr = toDateLabel.text!.components(separatedBy: ",")
toDate = toDateArr[0]
toTime = toDateArr[1].replacingOccurrences(of: " ",with: "")
let inputFormatter = DateFormatter()
inputFormatter.dateFormat = "MM/dd/yyyy"
let showDateFrom = inputFormatter.date(from: fromDate)
inputFormatter.dateFormat = "MM/dd/yyyy"
formateFromdate = inputFormatter.string(from: showDateFrom!)
print(formateFromdate)
}
注意:此处fromDate = 08/15/2020
正确,但是在补习日期之后不正确
输出:
Optional("08/15/0020") it should be 08/15/2020
解决方法
您需要先将其打开
if let formate = inputFormatter.string(from: showDateFrom!){
print(formate)
}
,
从格式化的日期输出中,看来fromDate = fromDateArr[0]
的值为"08/15/20"
。在这种情况下,您将必须使用以下日期格式;
let inputFormatter = DateFormatter()
inputFormatter.dateFormat = "MM/dd/yy"
let showDateFrom = inputFormatter.date(from: fromDate)
inputFormatter.dateFormat = "MM/dd/yyyy"
let formateFromdate = inputFormatter.string(from: showDateFrom!)
print(formateFromdate)