日期格式化程序 2021 年 5 月 3 日星期一 00:00:00 GMT

Date formatter Mon, 03 May 2021 00:00:00 GMT

我想将此 String 转换为 Date

Mon, 03 May 2021 00:00:00 GMT

let dateString = "Mon, 03 May 2021 00:00:00 GMT"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss 'Z'"
date = dateFormatter.date(from: dateString)

但它不起作用,date为零。那么这种情况的正确格式是什么?

像这样使用日期格式EEE, dd MMM yyyy hh:mm:ss Z

        let dateString = "Mon, 03 May 2021 00:00:00 GMT"
        let dateFormatter = DateFormatter()
        dateFormatter.dateFormat = "EEE, dd MMM yyyy hh:mm:ss Z"
        let date = dateFormatter.date(from: dateString)
        print(date)

您需要使用 HH,因为这是 24 小时格式,并且由于日期和月份名称是英文的,您还需要为格式化程序设置语言环境,这样它就不会使用用户当前的语言环境

let dateFormatter = DateFormatter()
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
dateFormatter.dateFormat = "EEE, dd MMM yyyy HH:mm:ss Z"