我在下面的代码中存储了日期选择器的日期:
uint64_t offset = (uint64_t)[[self.dataPicker date] timeIntervalSinceReferenceDate];
// store this 64-bit unsigned integer.
NSLog(@"Offset -> %llu",offset);
要再次转换日期格式,请使用以下命令:
NSDate *data = [[NSDate alloc] initWithTimeIntervalSinceReferenceDate:offset];
NSLog(@"Before -> %@",data);
但是这个代码有问题,当我选择比2000年更小的年份(1999,1998,1997 ...)时,命令initWithTimeIntervalSinceReferenceDate
总是返回null,但是offset
仍然存储价值。
发生了什么,我该如何解决这个问题?
答案 0 :(得分:3)
考虑以下事实:
uint64_t
永远不会消极。有专用类型NSTimeInterval
(又名双倍)。