在swift中使用DateFormatter时发生错误[重复]

Posted

技术标签:

【中文标题】在swift中使用DateFormatter时发生错误[重复]【英文标题】:While using DateFormatter in swift error occurs [duplicate] 【发布时间】:2019-08-20 08:35:19 【问题描述】:

更改日期格式时出错。我从服务器获取的日期属于这种类型:2019-08-20T08:05:15.680Z

let dateFormatter: DateFormatter = DateFormatter()

    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
                    *if let dateFromTimeStamp: Date = dateFormatter.date(from: self.sendMoneyResponseObject.timeStamp!)*
                        dateFormatter.dateFormat = "dd MMM yyyy, hh:mm a"
                        if let dateString: String = dateFormatter.string(from: dateFromTimeStamp) as? String
                            transactionViewObj.dateLabel.text = dateString
                        
                    

需要的日期格式:dd MMM yyyy, HH:mm a

【问题讨论】:

要解析毫秒使用 SSS,所以你的 DateFormatter 的日期格式将是 yyyy-MM-dd'T'HH:mm:ss.SSSZ 我不明白这一点,为什么要对它进行具体解释,我也得到了完美的答案。只是不要为了它而投反对票。 【参考方案1】:

检查您输入的日期格式是否错误

    let dateFormatter: DateFormatter = DateFormatter()
                              //2019-08-20T08:05:15.680Z.
    dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSZ"
     if let dateFromTimeStamp: Date = dateFormatter.date(from: "2019-08-20T08:05:15.680Z")
        dateFormatter.dateFormat = "dd MMM yyyy, hh:mm a"
        if let dateString = dateFormatter.string(from: dateFromTimeStamp) as? String
            print ("dateString == \(dateString)")
        
    

【讨论】:

以上是关于在swift中使用DateFormatter时发生错误[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SWIFT DateFormatter.dateFormat 格式是不是发生了变化?

Swift 5 - 无法解释的 DateFormatter 崩溃

Swift:当我的设备设置为“de”并且我的方案设置为“系统语言”时,为啥 DateFormatter 使用区域设置“en”

在 Swift 中使用 DateFormatter 和 TimeZone 来格式化日期

DateFormatter 中的 Swift 语言错误? [复制]

swift DateFormatter