如何解决如何使用 dateformatter 转换日期为“YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]”?
我从服务器得到的日期是这种格式"2020-11-28T19:24:58.478641+05:30"
但我无法使用日期格式化程序将其转换为日期。
let input = "2020-11-28T19:24:58.478641+05:30"
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateStyle = .full
formatter.setLocalizedDateFormatFromTemplate("YYYY-MM-DDThh:mm[:ss[.uuuuuu]][+HH:MM|-HH:MM|Z]")
formatter.timeStyle = .full
let date = formatter.date(from: input)
print(date)
print(date)
在任何情况下都返回 nil。我尝试在线转换此文件,结果在 https://nsdateformatter.com/
IMG ->converted date on nsdateformatter.com
如何使服务器日期适应 iOS 现有的日期格式?
解决方法
你试过ISO8601DateFormatter吗?
let formatter = ISO8601DateFormatter()
formatter.formatOptions = [.withInternetDateTime,.withFractionalSeconds]
let date = formatter.date(from: input)
,
试试这个:
let dateString = "2020-11-28T19:24:58.478641+05:30"
let formatter = DateFormatter()
formatter.locale = Locale(identifier: "en_US_POSIX")
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSSSSSz"
let date = formatter.date(from: dateString)
date // Nov 28,2020 at 5:24 AM
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。