J'ai essayé de calculer la date moi-même en utilisant l'entier signé maximum de 64 bits mais toujours finir avec une autre date qui est différente de quelques millions d'années. J'ai essayé d'utiliser les années sidérales et les années bissextiles, mais j'ai toujours des résultats qui durent au moins quelques millions d'années.Comment la date du 4 décembre 292,277,026,596 a-t-elle été calculée pour le débordement de l'horodatage unix signé 64 bits?
Voici ce que j'ai essayé jusqu'ici:
dateA = 1970 + (9223372036854775807/31556926.08)
dateB = 1970 + (9223372036854775807/31536000) + (((9223372036854775807/31536000)/4)/365)
Les deux renvoient la mauvaise réponse. Quelqu'un peut-il me guider dans la bonne direction?
Êtes-vous sûr de la valeur signée est utilisée comme limite? Certaines implémentations utilisent une signature non signée. –
Avez-vous même google comment calculer l'année bissextile? - Il vous manque plusieurs parties qui pourraient affecter les choses aussi longtemps. – stdunbar
Mais même si l'année bissextile était erronée, l'année sidérale ne serait-elle pas correcte? –