【发布时间】:2021-09-08 07:10:06
【问题描述】:
如何解析以下字符串的日期格式
createdAt = "2021-09-03T19:33:44.791822+05:30" // 从服务器端获取值
self.dateFormaterString(inputDate: "2021-09-03T19:33:44.791822+05:30")
func dateFormaterString(inputDate: String) ->String{
let formatter = DateFormatter()
// formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateStyle = .short
if let date = formatter.date(from: inputDate){
print(date)
}
return ""
}
以下方法 dateFormaterString 返回 nil 中断日期值 如何将 "2021-09-03T19:33:44.791822+05:30" 转换为 "09/07/2021"
【问题讨论】:
-
InputString --(DateFormatterWithFormatCorrespondingToInputString)--> Date --(DateFormatterWithFormatCorrespondingToOutputString)--> OutputString,这就是逻辑。您是否为formatter.format设置了正确的InputString 格式(此处为"2021-09-03T19:33:44.791822+05:30")以便成功调用.date(from:)?答案是否定的。这是第一步。然后,我们稍后会检查如何从date获取"09/07/2021",但这是第二步。 -
对于
InputString到Date,这应该可以解决问题:formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSZ"。然后,我将让您了解如何获得"09/07/2021"更多关于每个字符的含义的信息,请参见unicode.org/reports/tr35/tr35-31/… -
@Larme 谢谢你,我忘了把字符串转换成日期,然后把它转换成我需要的格式化程序