在Julian Day计算器上编写一些单元测试时,我发现1847年12月2日之前的日期被NSDate错误地初始化。他们似乎有75秒的时间。我无法找到指向那天的任何东西(这是格雷戈里日历截止之后)。这是一个错误还是有历史的日历调整,我没有遇到?额外的75秒来自哪里?
int main(int argc, const char * argv[])
{
@autoreleasepool {
NSCalendar *cal = [NSCalendar currentCalendar];
NSDateComponents *dateComps = [NSDateComponents new];
dateComps.year = 1847;
dateComps.month = 12;
dateComps.day = 1;
NSDate *d1 = [cal dateFromComponents:dateComps];
NSLog(@"d1 = %@", d1);
dateComps = [NSDateComponents new];
dateComps.year = 1847;
dateComps.month = 12;
dateComps.day = 2;
NSDate *d2 = [cal dateFromComponents:dateComps];
NSLog(@"d2 = %@", d2);
}
return 0;
}
输出:
D1 = 1847年12月1日○时01分15秒0000
D2 = 1847年12月2日00:00:00 0000
我复制粘贴你的代码,没有任何改变,这是我的输出:' d1 = 1847-12-01 00:00:00 -064116 || d2 = 1847-12-02 00:00:00 -064116' – Merlevede