this post was submitted on 18 Dec 2024
1086 points (98.3% liked)

memes

10677 readers
2800 users here now

Community rules

1. Be civilNo trolling, bigotry or other insulting / annoying behaviour

2. No politicsThis is non-politics community. For political memes please go to !politicalmemes@lemmy.world

3. No recent repostsCheck for reposts when posting a meme, you can only repost after 1 month

4. No botsNo bots without the express approval of the mods or the admins

5. No Spam/AdsNo advertisements or spam. This is an instance rule and the only way to live.

Sister communities

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] HKPiax@lemmy.world 3 points 4 days ago (2 children)
[–] frezik@midwest.social 13 points 4 days ago* (last edited 4 days ago) (2 children)

A common method of storing dates is the number of seconds since midnight on Jan 1, 1970 (which was somewhat arbitrarily chosen).

A 32-bit signed integer means it can store numbers between 2^31^ through 2^31^ - 1 (subtracting one comes from zero being effectively a positive number for these purposes). 2^31^ - 1 seconds added to Jan 1, 1970 gets you to Jan 19, 2038.

The solution is to jump to 64-bit integers, but as with Y2K, there's a lot of old systems that need to be updated to 64-bit integers (and no, they don't necessarily have to have 64-bit CPUs to make that work). For the most part, this has been done already. That would put the date out to 292,277,026,596 CE. Which is orders of magnitude past the time for the sun to turn into a red giant.

[–] pfm@scribe.disroot.org 2 points 4 days ago

Maybe it's not LI5, but I certainly enjoy your explanation for including several important facts and context. I respect your skill and knowledge, dear internet stranger.

midnight on Jan 1, 1970 (which was somewhat arbitrarily chosen).

well not so much, as far as I remember the first end-user computers became available in 1971 or 1972 or something, and the internet also underwent some rapid developments in that time, so the date has a certain reasoning to it.

[–] teije9@lemmy.blahaj.zone 8 points 4 days ago

Unix computers store time in seconds that have passed since january first 1970. one there have been too many seconds since 1970, it starts breaking. 'signed' is a way to store negative numbers in binary. the basics of it are: when the leftmost bit is a 1, it's a negative number (and then you do some other things to the rest of the number so that it acts like a negative number) so when there have been 09999999 seconds since 1970, if there's one more second it'll be 10000000, which a computer sees as -9999999.