日期格式化程序 2021 年 5 月 3 日星期一 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"

相关问答

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