iOS日期转换器返回正确的日期[重复]
Posted
技术标签:
【中文标题】iOS日期转换器返回正确的日期[重复]【英文标题】:iOS date convertor to return proper date [duplicate] 【发布时间】:2017-07-28 16:57:54 【问题描述】:遇到日期转换问题,我正在从 firebase 数据库中提取时间戳值并尝试将其更改为日期字符串。
下面是将时间戳值转换为日期字符串的结构。
struct DateConverter
private let date : Double?
init(dateToConvert: Double)
self.date = dateToConvert
func convertToString() -> String
let cDate = Date(timeIntervalSince1970: TimeInterval(date!))
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy/MM/dd hh:mm a"
let dateInString = dateFormatter.string(from: cDate)
return dateInString
但不幸的是,每当我尝试恢复双精度值时,输出似乎完全错误。例如:
1488873726317(来自 firebase 数据库)使用自定义日期转换器将 Double 值转换为日期字符串后,这是最终输出。
49150/07/14 03:05今年已经搞砸了,我在这里错过了什么吗?
【问题讨论】:
1488873726317
是以 毫秒为单位的 Unix 时间戳。
输入到 Firebase 的实际日期/时间是什么?
@MartinR 搞定了,必须先将其除以 1000 才能获得秒数 ~ 由 -Ro4ch 回答
@mechdon 据我了解~ Ro4ch 的回答是服务器时间戳以毫秒为单位,所以我必须先将其除以 1000。
这就是链接到“重复”中的答案所说的:)
【参考方案1】:
你可能需要分开,
let date = Date(timeIntervalSince1970:addServerStamp/1000)
【讨论】:
感谢现在工作正常,我如何根据时区转换该日期? @Ro4ch以上是关于iOS日期转换器返回正确的日期[重复]的主要内容,如果未能解决你的问题,请参考以下文章