我試着用自己最大的64位有符號整數來計算日期,但總是以幾百萬年不同的另一日期結束。我試過使用恆星年和閏年,但我總是得到至少幾百萬年的結果。爲什麼計算64位簽名的unix時間戳溢出時的292,277,026,596年12月4日的日期?
以下是我迄今爲止嘗試:
dateA = 1970 + (9223372036854775807/31556926.08)
dateB = 1970 + (9223372036854775807/31536000) + (((9223372036854775807/31536000)/4)/365)
都返回錯誤的答案。任何人都可以引導我在正確的方向嗎?
確定的符號值作爲限制?一些實現使用無符號的。 –
你甚至谷歌如何計算閏年? - 你缺少可能影響事情的多個部分。 – stdunbar
但即使閏年錯了,恆星年不正確嗎? –