简体   繁体   English

Swift - iOS 无法转换为所需的日期格式

[英]Swift - iOS Unable to convert to required date format

I am using date picker in my application.我在我的应用程序中使用日期选择器。 After selects particular date, It's not able to converting to required format.选择特定日期后,无法转换为所需格式。

Datepicker date:日期选择器日期:

2021-07-21 13:53:38 +0000 2021-07-21 13:53:38 +0000

expected format预期格式

21 July 2021 2021 年 7 月 21 日

I am trying with below code我正在尝试以下代码

static func formatStringToDate(date: String) -> String? {
        
        
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"//this your string date format
        dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone?
        let datee = dateFormatter.date(from: "2021-07-21 13:53:38 +0000")


        dateFormatter.dateFormat = "d MMM yyyy"///this is what you want to convert format
        dateFormatter.timeZone = NSTimeZone(name: "UTC") as TimeZone?
        let timeStamp = dateFormatter.string(from: datee!)

        return timeStamp ?? ""
     }

Any suggestions?有什么建议么?

I have found solution.我找到了解决方案。 Here it is这里是

let date = formatToDate(date: datePicker.date) 

    static func formatStringToDate(date: Date) -> String? {
                    
            let dateFormatter = DateFormatter()
            dateFormatter.dateFormat = "MMMM d, yyyy"
            let formattedDate = dateFormatter.string(from: date)
            return formattedDate // "21 July 2022"
        
        }
}

Actually the correct way to write this to get you desired format should be:实际上,编写此代码以获得所需格式的正确方法应该是:

let date = formatToDate(date: datePicker.date) 

static func formatStringToDate(date: Date) -> String? {
                
    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "dd MMMM yyyy"
    let formattedDate = dateFormatter.string(from: date)
    return formattedDate // "21 July 2022"
    
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM