【发布时间】:2022-01-12 14:19:50
【问题描述】:
如何将 1640704675 转换为日期。
extension Date {
var millisecondsSince1970:Int64 {
return Int64((self.timeIntervalSince1970 * 1000.0).rounded())
}
init(milliseconds:Int64) {
self = Date(timeIntervalSince1970: TimeInterval(milliseconds) / 1000)
}
}
//Convert date to another formate.
func dateConvertion(date: Date, dateFormat: String) -> String {
let dateFormater = DateFormatter()
dateFormater.dateFormat = dateFormat
dateFormater.locale = Locale(identifier: "en_US_POSIX")
let dateStr = dateFormater.string(from: date)
return dateStr
}
尝试将 10 位 Int 转换为 Date //
if let modifiedDate = callValue?.updatedDate{
let dateValue = String(modifiedDate).toDate(.isoDateTimeMilliSec) ?? Date()
let finalDate = dateConvertion(date: dateValue, dateFormat: formaterMonthDateyear)
print("finalDate \(finalDate)")
}
将int值转换为日期时显示的当前日期值
【问题讨论】:
-
您问题中的第二个代码块没有调用第一个代码块中的函数。
toDate是什么?不管它是什么,它都返回 nil,所以你可以从中获取当前日期。 -
我没有看到代码中出现数字
1640704675的任何部分。那么如何将 1640704675 转换成任何东西呢?另外(和相关的),不要向我们展示包含未知数的代码;我们无法知道callValue?.updatedDate指的是什么,因为您没有展示它 - 如果这是这里的想法,我们根本没有理由相信它是 1640704675。 -
您的示例日期似乎是以秒为单位的日期,而不是毫秒。如果你把它转换成这样的日期:
Date(timeIntervalSince1970: Double(1640704675))你会得到2021-12-28 15:17:55 +0000这似乎是合理的。 -
你的整数是自 1970 年以来的秒数
-
@matt callValue?.updatedDate 是 Int 值 1640704675
标签: ios swift date nsdateformatter