如何快速从时间戳中获取日期格式

时间:2018-08-31 11:09:32

标签: swift timestamp

我想从时间戳获取日期格式,所以我从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。那么如何解决这个问题。

1 个答案:

答案 0 :(得分:3)

您实际上是在将时间戳解析为Date对象。现在,如果您希望日期对象以其他任何方式格式化,请使用DateFormatter变量,设置格式化程序的dateFormat并从日期中获取字符串。这样会将日期转换为预期的字符串。

let anotherFormatter = DateFormatter()
anotherFormatter.dateFormat = "MMM yyyy, h:mm a"
anotherFormatter.string(from: date2)