Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 将十六进制代码转换为日期(BLE)-算法_Ios_Swift - Fatal编程技术网

Ios 将十六进制代码转换为日期(BLE)-算法

Ios 将十六进制代码转换为日期(BLE)-算法,ios,swift,Ios,Swift,样本日期和相应的十六进制代码 min: 01-Jan-2001 00:00:00 -> Hex code 00 00 00 00 max: 31-Dec-2099 23:59:59 -> Hex code BA 36 8E 7F Value 0 reckons to 01-Jan-2001 00:00:00 Offset value for UNIX Timestamp: 978307200 如何按照相同的模式将给定的十六进制代码转换为日期?数据是日期偏移量的大端表示形式 “参考

样本日期和相应的十六进制代码

min: 01-Jan-2001 00:00:00 -> Hex code 00 00 00 00
max: 31-Dec-2099 23:59:59 -> Hex code BA 36 8E 7F

Value 0 reckons to 01-Jan-2001 00:00:00 Offset value for UNIX Timestamp: 978307200

如何按照相同的模式将给定的十六进制代码转换为日期?

数据是日期偏移量的大端表示形式 “参考日期”(2001年1月1日UTC 00:00:00):

如果输入实际上是以十六进制字符串而不是数据形式给出的:

let hex = "BA368E7F"
if let offset = UInt32(hex, radix: 16) {
    let date = Date(timeIntervalSinceReferenceDate: TimeInterval(offset))
    print(date) // 2099-12-31 23:59:59 +0000
}

如何将“BA368E7F”转换为字节数组[0xBA,0x36,0x8E,0x7F]@Saranjith:请参阅更新但是不需要这样做,因为CBCharacteristic.value!是数据,而不是十六进制编码的字符串。
let hex = "BA368E7F"
if let offset = UInt32(hex, radix: 16) {
    let date = Date(timeIntervalSinceReferenceDate: TimeInterval(offset))
    print(date) // 2099-12-31 23:59:59 +0000
}