Happy 1,500,000,000 Unix time everyone! Or not?

in #technology7 years ago

1,500,000,000 seconds have passed since January 1, 1970 0:00:00 UTC today... 1.5 billion, that's a whole lot of seconds! I think only real nerds like me will celebrate this party? ;-)

UNIX Timestamp

When you open a linux terminal and enter 'date +%s' your system gives the current Unix Timestamp. The Unix Timestamp is a ten digit number which counts the number of seconds that have passed since 00:00:00 UTC on 1 January 1970 (the epoch). This 32-bit signed integer is used in many operating systems to track the time. It can easily be used to represent all time zones at once.

The Year 2038 problem

If you ever had to be scared of a number, this is the number you need tot be frightened of: 2,147,483,647. Why this number? Well, it's the maximum 32-bit signed integer, meaning once it goes past this number it can't count it anymore. When it happens we call it an 'integer overflow', which means the counter begins reporting a negative number (in case of a signed integer).

So the Unix Timestamp will run out of 32-bit numbers on January 19th, 2038 at 03:14:07 UTC time. One single second after that time, computers running 32 bit software will not be able to tell the difference between the year 2038 and 1970 anymore. The negative number reverts the date back to December 13, 1901.

For those still using 32 bit computers or software... It's only about 21 more years before your world ends.

The Unix Epoch-alypse

If you are using a 64-bit Windows computer you might think this won't affect you, but the problem affects all Unix operating systems, which powers all Android and Apple devices, as well as most internet servers.
Any computer, smartphone, software program, server or even cars running a 32-bit system could fail in 2038, unless they are patched and upgraded in advance.

Android

I tried my Android phone, but it's not possible on my phone to set the date to a value after 2037. I've read about older Android devices that even crashed if you would try it. See this picture:

Solution?

There is no universal solution for the Year 2038 problem yet.
Changing the timestamp to an unsigned 32-bit integer, which would extend the range to the year 2106, could result in code compatibility problems in programs that use dates prior to 1970, as such dates are represented by a negative number.
The only real solution is to upgrade all hardware and software to 64-bit systems.

There's still 21 years left, but planning the change far enough in advance should remove most big problems.


¯\___(ツ)____/¯ Don't miss out on my next post! Follow me @penguinpablo

Sort:  

You nerd!! I wasn't aware of end of this 32th bit limitation lol

Well, I'm not too excited about it really. For one, who will still be using a 20 year old device in 2038? May be computers dont work with Bits at all by then.
And also, I'll be 80 years old then, or already dead.

So... my question is: the 64-bit (unsigned) timestamp overflows, when will that be?
voted and followed you!!

An 64 bit unsigned integer timestamp would have 9,223,372,036,854,775,807 seconds. That is 292,471,208,678 years :)

Good to know.... isn't that the milliseconds instead of seconds?

better start panicing soon!! life would probably be much better if we all still used commodore64

Don't panic ! Take a towel !!! :D :D :D

What a waste of time.

Omg let's party!

Didn't we have a similar problem with Windows for the milestone year 2000?

Good information bro i think there is no any solution of this problem yet i heard about few weeks ago in facebook post let's see in future :)

Great post pablo 😁That's a lot of seconds that's past by ,hehe

Interesting count.
Thanks for sharing