Lors de l'écriture de tests unitaires sur un Jour Julien de la calculatrice, j'ai trouvé que les dates antérieures au 2 décembre 1847 étaient en cours d'initialisation incorrecte par NSDate. Ils semblent avoir 75 secondes. Je n'ai pas été en mesure de trouver quelque chose pointant vers cette date (ce qui est bien après le calendrier Grégorien fréquence de coupure). Est-ce un bug ou est-il un historique de l'ajustement de calendrier que je n'ai pas trouver?
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;
}
Sortie:
d1 = 1847-12-01 00:01:15 +0000
d2 = 1847-12-02 00:00:00 +0000