let dateFormater : DateFormatter = DateFormatter()
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormater.date(from: "2016-11-11T11:42:27Z")
print("date is ---->%@",date)
let timestamp = date?.timeIntervalSince1970
print("timestamp is ---->%@",timestamp!)
let str = String(format: "%@",timestamp!)
print("str value is ---->%@",str)
date is -----> 2016-11-11 11:42:27 +000
timestamp is----->1478864547.0
str value is-----> null
获取日期和时间戳值。如何将timestamp
值更改为字符串。将1478864547.0
(timestampvalue)表示为字符串格式
let str = String(format: "%@",timestamp!)
这条线错了。
答案 0 :(得分:1)
您只需使用let timestampInString = "\(timestamp)"
。
如果是可选的那么
if let timestamp = date?.timeIntervalSince1970 {
let timestampInString = "\(timestamp)"
}
答案 1 :(得分:1)
问题是timestamp
不是对象 - 它是TimeInterval
(typealias
只是Double
。如果要使用格式化字符串,则需要执行"%lf"
。
答案 2 :(得分:0)
您将获得空值。 timestamp
不是String
值,因此您无法直接获得String
值,您必须使用Float
来String
施放
请按照以下步骤确定它适用于您。
let dateFormater : DateFormatter = DateFormatter()
dateFormater.dateFormat = "yyyy-MM-dd'T'HH:mm:ssZ"
let date = dateFormater.date(from: "2016-11-11T11:42:27Z")
print("date is ---->%@",date)
let timestamp = date?.timeIntervalSince1970
print("timestamp is ---->%@",timestamp!)
let str = String(format: "%0.0f",timestamp!)
print("str value is ---->%@",str)
TimeInterval是Double的类型,所以使用或" 0.0f" " %lf"。