Eri*_*ric 1 keychain nsdata swift swift5
我正在尝试在钥匙串中保存日期,并且(根据我的理解)这首先需要将Date对象转换为Data对象。
这个 Stack Overflow Q/A解释了如何在 Swift 3 中做到这一点(或至少是其中的一部分),但我希望有人可以提供 Swift 5 中的 to/from 函数(因为该解决方案中至少有一种方法)已被弃用,我担心其他东西也没有经受住时间的考验)。
ADate是一个时间戳(自 UTC 1970 年参考日期以来的秒数)作为具有奇特方法和其他实用程序的对象。仅此而已。
因此,根据双倍数据(和相反)的答案:
输入
let date = Date()
print(date)
Run Code Online (Sandbox Code Playgroud)
日期 -> 时间戳 -> 数据
let timestamp = date.timeIntervalSinceReferenceDate
print(timestamp)
let data = withUnsafeBytes(of: timestamp) { Data($0) }
print("\(data) - \(data.map{ String(format: "%02hhx", $0) }.joined())")
Run Code Online (Sandbox Code Playgroud)
数据 -> 时间戳 -> 日期
let retrievedTimestamp = data.withUnsafeBytes { $0.load(as: Double.self) }
print(retrievedTimestamp)
let retrievedDate = Date(timeIntervalSinceReferenceDate: retrievedTimestamp)
print(retrievedDate)
Run Code Online (Sandbox Code Playgroud)
输出:
$>2021-09-13 08:17:50 +0000
$>1631521070.6852288
$>8 bytes - cadaab4bc24fd841
$>1631521070.6852288
$>2021-09-13 08:17:50 +0000
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
988 次 |
| 最近记录: |