Forgot your password?
typodupeerror
Unix Technology

Raise a Glass — Time(2) Turns 40 Tonight 114

Posted by timothy
from the for-auld-lang-syne(2) dept.
ddt writes "Raise your glasses of champagne in a toast at midnight. The time(2) system call turns 40 tonight, and is now officially 'over the hill.' It's been dutifully keeping track of time for clueful operating systems since January 1, 1970." And speaking of time, if you don't have a *nix system handy, or just want a second opinion, an anonymous reader points out this handy way to check just how far it is after local midnight in Unix time. Updated 10:03 GMT by timothy: The Unix-time-in-a-browser link has been replaced by a Rick Astley video; you have been warned.
This discussion has been archived. No new comments can be posted.

Raise a Glass — Time(2) Turns 40 Tonight

Comments Filter:
  • Unix epoch? (Score:3, Interesting)

    by arnoldo.j.nunez (1300907) on Thursday December 31, 2009 @11:50PM (#30612224)
    Why was the epoch chosen to be 00:00:00 UTC on 1 January 1970?
    Why didn't we restart it at 2000 amidst the Y2K mess?
  • Re:Unix epoch? (Score:5, Interesting)

    by MichaelSmith (789609) on Thursday December 31, 2009 @11:57PM (#30612256) Homepage Journal

    Putting it in 1970 is a pain. VMS at least put their zero date in 1858, where it is less likely to conflict with real dates. If course, VMS had 64 put support from the word go. Rebasing time_t would have created a horrible mess. Better to start again with a proper date type.

  • by HockeyPuck (141947) on Friday January 01, 2010 @12:06AM (#30612292)

    The Unix time(2) system call is "over the hill" at 40 years old today. The time(2) system call has dutifully told us how many seconds have passed since January 1, 1970. I use the day as my "birthday" on public websites in tribute. Please raise a glass of champagne tonight with me in celebration!

    Why is there a link in the summary to some guy's blog which says exactly what I've pasted above? I mean really, just put the information in the summary without the link....

  • Re:Give it 28 years (Score:2, Interesting)

    by yuhong (1378501) <yuhongbao_386@hotm[ ].com ['ail' in gap]> on Friday January 01, 2010 @12:19AM (#30612336) Homepage
    Especially when the 32-bit time_t overflows. The good news is that most 64-bit OSes already uses a 64-bit time_t, but there still is the issue of truncation to 32-bit.
  • Re:Give it 28 years (Score:3, Interesting)

    by MichaelSmith (789609) on Friday January 01, 2010 @12:22AM (#30612348) Homepage Journal

    Especially when the 32-bit time_t overflows. The good news is that most 64-bit OSes already uses a 64-bit time_t, but there still is the issue of truncation to 32-bit.

    Shouldn't the 32 bit time_t expire in 2106 [wolframalpha.com]?

  • Re:Give it 28 years (Score:3, Interesting)

    by Abcd1234 (188840) on Friday January 01, 2010 @12:26AM (#30612366) Homepage

    'fraid not. The 32-bit time_t is signed (I'm assuming so you can expression times less than the epoch, but that's just a guess). As such, it actually overflows in 2038 [wolframalpha.com].

  • Re:Over the hill? (Score:5, Interesting)

    by multi io (640409) <olaf.klischat@googlemail.com> on Friday January 01, 2010 @01:38AM (#30612558)
    Decimal jubilees are meaningless. time(2) has passed the top of the hill almost six years ago!

    $ TZ=GMT ruby -e '((0..29).map{|bit| 1<<bit} + (0..30).to_a.reverse.map{|bit| (1<<31) - (1<<bit)}).each{|t| puts "%031b %s" % [t, Time.at(t)]}'
    0000000000000000000000000000001 Thu Jan 01 00:00:01 +0000 1970
    0000000000000000000000000000010 Thu Jan 01 00:00:02 +0000 1970
    0000000000000000000000000000100 Thu Jan 01 00:00:04 +0000 1970
    0000000000000000000000000001000 Thu Jan 01 00:00:08 +0000 1970
    0000000000000000000000000010000 Thu Jan 01 00:00:16 +0000 1970
    0000000000000000000000000100000 Thu Jan 01 00:00:32 +0000 1970
    0000000000000000000000001000000 Thu Jan 01 00:01:04 +0000 1970
    0000000000000000000000010000000 Thu Jan 01 00:02:08 +0000 1970
    0000000000000000000000100000000 Thu Jan 01 00:04:16 +0000 1970
    0000000000000000000001000000000 Thu Jan 01 00:08:32 +0000 1970
    0000000000000000000010000000000 Thu Jan 01 00:17:04 +0000 1970
    0000000000000000000100000000000 Thu Jan 01 00:34:08 +0000 1970
    0000000000000000001000000000000 Thu Jan 01 01:08:16 +0000 1970
    0000000000000000010000000000000 Thu Jan 01 02:16:32 +0000 1970
    0000000000000000100000000000000 Thu Jan 01 04:33:04 +0000 1970
    0000000000000001000000000000000 Thu Jan 01 09:06:08 +0000 1970
    0000000000000010000000000000000 Thu Jan 01 18:12:16 +0000 1970
    0000000000000100000000000000000 Fri Jan 02 12:24:32 +0000 1970
    0000000000001000000000000000000 Sun Jan 04 00:49:04 +0000 1970
    0000000000010000000000000000000 Wed Jan 07 01:38:08 +0000 1970
    0000000000100000000000000000000 Tue Jan 13 03:16:16 +0000 1970
    0000000001000000000000000000000 Sun Jan 25 06:32:32 +0000 1970
    0000000010000000000000000000000 Wed Feb 18 13:05:04 +0000 1970
    0000000100000000000000000000000 Wed Apr 08 02:10:08 +0000 1970
    0000001000000000000000000000000 Tue Jul 14 04:20:16 +0000 1970
    0000010000000000000000000000000 Sun Jan 24 08:40:32 +0000 1971
    0000100000000000000000000000000 Wed Feb 16 17:21:04 +0000 1972
    0001000000000000000000000000000 Wed Apr 03 10:42:08 +0000 1974
    0010000000000000000000000000000 Tue Jul 04 21:24:16 +0000 1978
    0100000000000000000000000000000 Mon Jan 05 18:48:32 +0000 1987
    1000000000000000000000000000000 Sat Jan 10 13:37:04 +0000 2004
    1100000000000000000000000000000 Thu Jan 14 08:25:36 +0000 2021
    1110000000000000000000000000000 Wed Jul 18 05:49:52 +0000 2029
    1111000000000000000000000000000 Tue Oct 18 16:32:00 +0000 2033
    1111100000000000000000000000000 Tue Dec 04 09:53:04 +0000 2035
    1111110000000000000000000000000 Fri Dec 26 18:33:36 +0000 2036
    1111111000000000000000000000000 Wed Jul 08 22:53:52 +0000 2037
    1111111100000000000000000000000 Wed Oct 14 01:04:00 +0000 2037
    1111111110000000000000000000000 Tue Dec 01 14:09:04 +0000 2037
    1111111111000000000000000000000 Fri Dec 25 20:41:36 +0000 2037
    1111111111100000000000000000000 Wed Jan 06 23:57:52 +0000 2038
    1111111111110000000000000000000 Wed Jan 13 01:36:00 +0000 2038
    1111111111111000000000000000000 Sat Jan 16 02:25:04 +0000 2038
    1111111111111100000000000000000 Sun Jan 17 14:49:36 +0000 2038
    1111111111111110000000000000000 Mon Jan 18 09:01:52 +0000 2038
    1111111111111111000000000000000 Mon Jan 18 18:08:00 +0000 2038
    1111111111111111100000000000000 Mon Jan 18 22:41:04 +0000 2038
    1111111111111111110000000000000 Tue Jan 19 00:57:36 +0000 2038
    1111111111111111111000000000000 Tue Jan 19 02:05:52 +0000 2038
    1111111111111111111100000000000 Tue Jan 19 02:40:00 +0000 2038
    1111111111111111111110000000000 Tue Jan 19 02:57:04 +0000 2038
    1111111111111111111111000000000 Tue Jan 19 03:05:36 +0000 2038
    1111111111111111111111100000000 Tue Jan 19 03:09:52 +0000 2038
    1111111111111111111111110000000 Tue Jan 19 03:12:00 +0000 2038
    1111111111111111111111111000000 Tue Jan 19 03:13:04 +0000 2038
    1111111111111111111111111100000 Tue Jan 19 03:13:36 +0000 2038
    1111111111111111111111111110000 Tue Jan 19 03:13:52 +0000 2038
    1111111111111111111111111111000 Tue Jan 19 03:14:0

What this country needs is a good five dollar plasma weapon.

Working...