日期格式化程序未正确更改

问题描述

我的约会是这样的..

2021-03-05T12:21:18

但我想要 dd-MM-yyyy 格式。这就是我为此所做的......

dateFormatter.dateFormat = "YYYY-MM-dd'T'HH:mm:ss"
let date2 = dateFormatter.date(from: self.Due_Date) //self.Due_Date is 2021-03-05T12:21:18
dateFormatter.dateFormat = "dd-MM-yyyy"                 
self.Due_Date = dateFormatter.string(from: date2!) //CRASH HERE
        

但我得到 date2 为 nil。所以代码self.Due_Date = dateFormatter.string(from: date2!)

崩溃

这可能是什么原因......?

解决方法

“yyyy”代表日期的日历年,而“YYYY”代表一周中的年份。

有关详细信息,请参阅此Difference between 'YYYY' and 'yyyy' in NSDateFormatter

let getInputString = "2021-03-05T12:21:18"
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss"
        if let getInputDate = dateFormatter.date(from:getInputString){
            dateFormatter.dateFormat = "dd-MM-yyyy"
            let getoutputString = dateFormatter.string(from: getInputDate)
        }  

注意:根据@LeoDabus 指南,请在开始转换之前确保 self.Due_Date 为空。

相关问答

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