datetime – 幕后:Core数据日期存储31年偏移量?
发布时间:2020-12-15 19:11:35 所属栏目:安全 来源:网络整理
导读:我知道,“内部没有用户可维修的部件”…但我很好奇: 在一个核心数据sqlite3数据库中,看起来我可以在ZDATE这样的日期得到这样的结果: sqlite select datetime(ZDATE,'unixepoch','31 years','localtime') from ZMYCLASS;2003-12-11 19:00:002009-12-31 19
我知道,“内部没有用户可维修的部件”…但我很好奇:
在一个核心数据sqlite3数据库中,看起来我可以在ZDATE这样的日期得到这样的结果: sqlite> select datetime(ZDATE,'unixepoch','31 years','localtime') from ZMYCLASS; 2003-12-11 19:00:00 2009-12-31 19:00:00 2009-01-24 19:00:00 2011-01-01 19:00:00 2009-10-03 20:00:00 ... Unix Epoch我得到了,但为什么31年?
核心数据存储相对于参考日期的日期,即2001年1月1日(EPOCH在评论中指出的31年)
以下是一些解码表中日期的代码,以防对您有用。 NSNumber *time = [NSNumber numberWithDouble:(d - 3600)]; NSTimeInterval interval = [time doubleValue]; NSDate *online = [NSDate dateWithTimeIntervalSinceReferenceDate:interval]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"MM/dd/yyyy HH:mm:ss.SSS"]; NSLog(@"result: %@",[dateFormatter stringFromDate:online]); https://developer.apple.com/library/mac/#documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/Reference/Reference.html 看看dateWithTimeIntervalSinceReferenceDate: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |