gpt4 book ai didi

objective-c - 如何从5位数字中获取日期

转载 作者:行者123 更新时间:2023-12-01 19:33:50 27 4
gpt4 key购买 nike

从我的代码中,我得到的制造日期如下:

.....
- (NSDictionary *)getBatteryInfo
{
matching = IOServiceNameMatching("AppleSmartBattery");
entry = IOServiceGetMatchingService(kIOMasterPortDefault, matching);
IORegistryEntryCreateCFProperties(entry, &properties, NULL, 0);
return (__bridge NSDictionary *)properties;
}
......

NSDictionary *Info = [self getBatteryInfo];

NSNumber *manufacturerDate = [Info objectForKey:@"ManufactureDate"];

我在 MacBook 中尝试了这些代码,得到了 17492 的日期,我还使用从 App Store 安装的应用程序检查了日期,并知道确切的日期是 2014/02/20。

在另一台 MacBook 中,我得到的日期是 16727,确切的日期是 2012/10/23。谁能告诉我如何用这个5位数字计算出准确的日期。

最佳答案

日期按照智能电池数据规范修订版 1.1 第 5.1.26 节中的位字段发布 ( see )

  • 位 0...4 => 天(值 1-31;5 位)
  • 位 5...8 => 月份(值 1-12;4 位)
  • 位 9...15 => 自 1980 年以来的年数(值 0-127;7 位)

UPD。示例

17492 采用二进制表示法 0100010001010100(16 位数字的无符号解释)。所以,

  • 位 0...4 => 10100 => 20 天
  • 位 5...8 => 0010 => 2 个月
  • 第 9...15 位 => 34 + 1980 = 2014 年

因此,我们得到 17492 是 2014/02/20

关于objective-c - 如何从5位数字中获取日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813747/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com