我想从时间戳获取日期格式,所以我从Firebase数据库获取时间戳。所以我从firestore 2018-08-31T05:33:31.408Z检索到此输出时得到此输出。因此我想将时间戳格式为“ 2018年8月”,11.39 AM。所以我尝试使用此代码进行转换
let timestamp = deyaPaybalance.value(forKey: "timestamp") as! NSArray
print("timestamp is",timestamp)
//let len = timestamp.count
for element in timestamp {
let ele = element
let formatter = ISO8601DateFormatter()
//print("date is",date1!)
formatter.formatOptions = [.withFullDate,
.withTime,
.withDashSeparatorInDate,
.withColonSeparatorInTime]
let date2 = formatter.date(from: ele as! String)
print("timestamp with date is",date2!)
print("element is",ele)
}
但是我得到这种类型的输出2018-09-22 09:29:11 +0000。那么如何解决这个问题。
答案 0 :(得分:3)
您实际上是在将时间戳解析为Date对象。现在,如果您希望日期对象以其他任何方式格式化,请使用DateFormatter变量,设置格式化程序的dateFormat并从日期中获取字符串。这样会将日期转换为预期的字符串。
let anotherFormatter = DateFormatter()
anotherFormatter.dateFormat = "MMM yyyy, h:mm a"
anotherFormatter.string(from: date2)