快速结伴之后日期无法正确显示

问题描述

我已经按照代码分隔了日期和时间,然后我使用了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)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...