W nocy na twoim Linuksie/Uniksie wybije data 1234567890

Dzisiejszej nocy, a dokładnie 31 minut i 30 sekund po północy w komputerach z systemami, będącymi pochodną Uniksa, wybije data 1234567890.

Tyle bowiem sekund upłynęło od pierwszego stycznia 1970 roku. W systemach uniksowych data przechowywana jest właśnie jako skończona liczba sekund, które minęły od tego umownego momentu. Taki sposób jej reprezentacji umożliwia łatwe przeprowadzanie operacji matematycznych z nią związanych – na przykład porównanie dwóch dat, albo wyznaczenie ilości dni, które dzielą jedną z nich od drugiej.

Aby sprawdzić aktualny czas w reprezentacji uniksowej należy wydać polecenie:

$ date +%s

Do określenia momentu wybicia daty 1234567890 służy natomiast poniższa komenda:

$ date -d @1234567890

Oto wynik jej działania na moim komputerze:

mith@moria:~$ date -d @1234567890

sob, 14 lut 2009, 00:31:30 CET

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar mith
    mith

    Autor czytał artykuł o złośliwych poleceniach w konsoli, dlatego przed zaproponowaniem wpisywania czegokolwiek, przetestował to na własnej maszynie (nie żeby spodziewał się jakichś realnych szkód) 😉

  2. Awatar likemandrake
    likemandrake

    Kurcze, ciekawe czy już ktoś może jakieś fajerwerki szykuje 😀

    1. Awatar likemandrake
      likemandrake

      Jak to powiedział kolega z kierunku (studiów):

      Nadchodzi koniec świata, przeżyją go tylko karaluchy i informatycy […]

      Na żarty mu się zbiera 😉

      1. Awatar mith
        mith

        Koniec świata wybije, kiedy nastanie data 2147483647, bo nikt nie przewidział wyższej 😉

        <code><div>mith@moria:~$ date -d @2147483647
        wto, 19 sty 2038, 04:14:07 CET
        mith@moria:~$ date -d @2147483648
        date: błędna data: `@2147483648'
        </div></code>

        1. Awatar D3X
          D3X

          A o 64-bitowych liczbach słyszał? 🙂

        2. Awatar mtjm
          mtjm

          Na moim laptopie to drugie daje "wto, 19 sty 2038, 04:14:08 CET", może wtedy już będzie troszkę większa motywacja do używania 64-bitowych systemów wolnych od tego problemu.

        3. Awatar thernull
          thernull

          A może będziemy pracować na super-energooszczędnych 8-bitowych procesorach, które jako jedyne będą legalne 😉

        4. Awatar Compi
          Compi

          [jarek@beta ~]% date -d @67768036191673199
          śro gru 31 23:59:59 CET 2147485547
          [jarek@beta ~]% date -d @67768036191673200
          date: czas 67768036191673200 jest spoza zakresu

          Jeszcze kilka lat nam zostało 😉

        5. Awatar snc
          snc

          Tylko czekać jak media zaczną trąbić o problemie roku 2038 a producenci sprzętu zaczną wciskać rzeczy mające nas przed katastrofalnymi skutami uchronić 😉

        6. Awatar abc
          abc

          We wczorajszej Wyborczej problem roku 2038 się pojawił 😉

  3. Awatar bartmarian
    bartmarian

    nie no, prawdziwy NADSYLWESTER 🙂

  4. Awatar 5we
    5we

    koniec świata będzie 19 stycznia 2038, 04:14:07 CET.
    $ date -d @2147483647
    Spróbujcie wpisać wyższą liczbę 🙂

  5. Awatar sunrise_son
    sunrise_son

    W Walę-tynki. Jak romantycznie.

    1. Awatar pinoteres
      pinoteres

      A więc czas na walentynkową autoironię :>
      Pozwolę sobie zacząć – http://img297.imageshack.us/img297/6586/294jj3.jp…

      1. Awatar DNA DesigN
        DNA DesigN

        Ten tekst powinien brzmieć: "I've got a UNIX-based OS, which means I've got time to get laid instead of repairing my system." 😀

  6. Awatar noddeat
    noddeat

    wszystkigo najlepszego w nowym uniksowym roku!

    1. Awatar Zaus
      Zaus

      Który będzie rokiem linuksa na desktopach 😀

  7. Awatar trasz
    trasz

    Tak gwoli scislosci, to do okreslenia w/w czasu w systemach innych niz Linux sluzy komenda:

    date -r 1234567890

    NB kolejny przyklad niezgodnosci Linuksa ze standardami. Whatever.

    1. Awatar JarekP
      JarekP

      Standard POSIX 1003.1 mówi tylko o parametrze -u (http://www.opengroup.org/onlinepubs/009695399/)

      -r / -d to dodatki poza standard
      poza tym to nie Linux a GNU (date to GNU coreutils)

      AIX 5.2L brak
      (http://publib16.boulder.ibm.com/doc_link/en_US/a_doc_lib/cmds/aixcmds2/date.htm)

      HP UX 11i brak
      (http://www.wagoneers.com/UNIX/HP-UX/man-date.html)

    2. Awatar likemandrake
      likemandrake

      Ale czy składnię polecenia to się też standaryzuje? Myślę, że przedstawiłeś słaby argument.

      Rozumiem, jeśli np. po wpisaniu określonej liczby sekund pojawiłaby się inna data w Linuksie i inna w pozostałych systemach, możnaby wtedy szukać który system nie przestrzega standardów.

      Z tego co wiem, to ogólnie przyjętym standardem jest data 1 stycznia 1970 roku, którą reprezentuje zero sekund. Po wykonaniu polecenia 'date -d @0' system zwraca 'czw, 1 sty 1970, 01:00:00 CET', a więc mamy odpowiedź jaką narzuca nam standard, ponieważ w strefie czasowej Greenwich byłaby to dokładnie północ.

      Pozdrawiam

      1. Awatar trasz
        trasz

        @likemandrake: Tak, skladnia podstawowych uniksowych polecen jest ustandaryzowana.

        1. Awatar likemandrake
          likemandrake

          POSIX, no tak, ale użytkownik @JarekP już to chyba wytłumaczył 🙂

  8. Awatar Franek
    Franek

    Szkoda, że to nie data, "godzina"… Daty też wybijają? o_O
    http://pl.wikipedia.org/wiki/EPOCH

  9. Awatar ó
    ó

    Czy tylko ja mam w Glibcu 2.8 – w zoneinfo/Europe/Warsaw – czas BRST (brazylijski) zamiast CET? Czy ktoś jeszcze?

    1. Awatar Łechtak
      Łechtak

      Tylko Ty.

  10. Awatar Maf
    Maf

    I po ptakach 😉

    1. Awatar Zaus
      Zaus

      date 02140031 – jak śpiewa Maryla: przeżyjmy toooo jeeeeszczeeee raaaaaz

  11. Awatar buuu
    buuu

    heh no to na pamiątkę 😛 http://odsiebie.com/pokaz/1555160—2dd6.html

  12. Awatar coe
    coe

    1313131313 – nastepny ciekawy dzien dopiero Fri Aug 12 08:41:53 CEST 2011 🙂

    1. Awatar batwing
      batwing

      normalnie jeden z moich ulubionych 😛

  13. Awatar lordmorgul
    lordmorgul

    Dawałem na IRC-u przez /exec -o date +%s i się spóźniłem o sekundę 🙁

    1. Awatar Zaus
      Zaus

      IRC nie ma takiego polecenia jak /exec

        1. Awatar Zaus
          Zaus

          irssi to klient IRC, a nie IRC

      1. Awatar Mateusz Małek
        Mateusz Małek

        Takie polecenie mają raczej klienty IRC, a nie same serwery.

        Gdyby serwery pozwalały każdemu wywoływać polecenia, to ile shelli za darmo byśmy mieli…

      2. Awatar lordmorgul
        lordmorgul

        Błagam o wybaczenie, wiem, że powinienem napisać "przy pomocy klienta IRC wykonałem na #takim-a-takim na serwerze takim a takim polecenie /exec +%s", ale myślałem, że ludzie są bardziej domyślni.

        1. Awatar Zaus
          Zaus

          Serwer i kanał nie ma nic do tego, ale wybaczamy. Znaj łaskę 😀

  14. Awatar http://michal.idmobs
    http://michal.idmobs

    dodałem wczoraj newsa o tym ale w tajemniczych okolicznościach zniknął…

  15. Awatar Mateusz Małek
    Mateusz Małek

    Przespałem ten niezwykły moment, ale wiedziałem, że będzie miał miejsce w nocy z wczoraj na dzisiaj. Mój kolega uwiecznił to na zrzucie (zrobił sobie skrypt w PHP, który wstawił odpowiednią wartość refresh strony wyświetlającej aktualny stempel czasu – kilka linijek kodu zadziałało bezbłędnie i pojawił się komunikat "Aktualny czas: 1234567890. To dzieje się na twoich oczach!"). Google też swoje zrobiło – niestety, tylko pół godziny, bo później logo zmienili na walentynkowe. Ale teraz mam pretekst do świętowania w dniu tego komercyjnego święta (żeby nie wyglądać dziwnie) – rocznica 1234567890 w systemach *nixowych.

    1. Awatar Moarc
      Moarc

      Sekundnica ;p

  16. Awatar wit3k
    wit3k

    Na zakończenie rozmowy chciałem dodać że nie ma co straszyć ludzkośc dniem wto, 19 sty 2038, 04:14:07 CET.

    Już od jakiegoś czasu na maszynach 64bitowych mamy znacznie dłuższy planowany czas życia. Nie wiem jaki jest górny zakres – na pewno nie jest to największa liczba 64 bitowa, ani 63bitowa (w starej wersji i prawdopodobnie obecnej, mamy jeden bit znaku dla dat z poprzedniej ery).

    Przez kilka sekund kombinowania udało mi się wpisać:
    witek@witek-laptop:~$ date -d @66999999999999999
    nie, 16 gru 2123147449, 00:06:39 CET

    Do następnego końca świata zostało więc przynajmniej 2123145440 lat.

    Acha – osobiście myślę że koniec świata tak na prawdę powinien nastąpić w 2048 roku!

  17. Awatar kamalekon
    kamalekon

    data poktórej sie pojawia problemy z data to 1999999999
    czyli śro, 18 maj 2033, 05:33:19 CEST

    1. Awatar mgol
      mgol

      Nieprawda.

  18. Awatar coe
    coe

    Na moje oko do 2038 systemy 32 bitowe beda reliktem 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *