我从这样的服务器上得到一个日期:"2020-07-20T23:03:11.17926"
我想使其具有可读性,我必须将其转换为时间戳,然后再次将其转换为可读的字符串。
这是我的代码:
func timeStringFromUnixTime(timestamp: String) -> String {
let stringDate = timestamp
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let dateString = dateFormatter.date(from: stringDate)
//get timestamp from Date
if let dateTimeStamp = dateString?.timeIntervalSince1970 {
let date = Date(timeIntervalSince1970: TimeInterval(dateTimeStamp))
dateFormatter.dateFormat = "MMM d, h:mm"
dateFormatter.timeZone = TimeZone(identifier: NSTimeZone.default.identifier)
let localDate = dateFormatter.string(from: date)
return localDate
}
return ""
}
但是问题是dateString
等于nil
,因此它返回一个空字符串。有人可以帮我吗?
答案 0 :(得分:1)
替换:
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
具有:
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"
Z
-“ RFC 822 GMT格式。也可以匹配Zulu(UTC)时间的文字Z。” SSS
-“毫秒”。看看NSDateFormatter.com,了解有关日期格式的更多信息。