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

时间:2021-03-05 07:00:11

标签: ios swift nsdateformatter

我的约会是这样的..

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!)

崩溃

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

1 个答案:

答案 0 :(得分:0)

<块引用>

“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 为空。

相关问题