Час Unix
Час Unix, ці час POSIX — сыстэма вызначэньня часу, прынятая ў UNIX і POSIX-сумяшчальных апэрацыйных сыстэмах. Час лічыцца ад пачатку гэтак званай «эры Unix» (па-ангельску: Unix Epoch) — 1 студзеня 1970 году, і строга прымацаваны да ўнівэрсальнага каардынаванага часу, за выняткам высакосных сэкундаў. Час Unix не зьяўляецца ні лінейным эквівалентам часу, ні эквівалентам унівэрсальнага каардынаванага часу (з-за высакосных сэкундаў, напрыклад, 31 сьнежня 1998 году, 23:59:60). На большасьці Unix-падобных сыстэмаў атрымаць бягучы час Unix можна камандай date +%s
. У некаторых мовах праграмаваньня ёсьць свае сродкі для атрыманьня часу Unix.
9 верасьня 2001 году, роўна ў 01:46:40 (UTC), у дзесятковым прадстаўленьні час Unix быў роўны 1 000 000 000, што было адсьвяткавана некаторымі юзэр-групамі.[1] 13 лютага 2009 году, роўна ў 23:31:30 (UTC), у дзесятковым прадстаўленьні час Unix быў роўны 1 234 567 890. Гэтая падзея была шырока адсьвяткаваная па ўсім сьвеце групамі тэхнічных спэцыялістаў.[2][3]
Праблема 2038 году
[рэдагаваць | рэдагаваць крыніцу]Час Unix перадаецца і захоўваецца ў знакавым 32-бітным цэлым, а паколькі адлік ідзе ад чацьвера ў 00:00:00 UTC 1 студзеня 1970 году,[4] то з-за абмежаваньня максымальнае значэньне дасягае 2 147 483 647, што эквівалентна аўторку ў 03:14:07 UTC 19 студзеня 2038.[5] З-за знакавасьці зьменнай пасьля дасягненьня верхняга ліміту зьлічэньне часу «пераскочыць» у адмоўную частку дыяпазону: –2 147 483 648, што змусіць праграмы лічыць 2038 год фактычна 1901-м.
Крыніцы
[рэдагаваць | рэдагаваць крыніцу]- ^ Unix time facts & trivia — Unix Time (анг.)
- ^ 1234567890 Day (анг.) Архіўная копія
- ^ At the third stroke, the Unix time will be 1234567890, The Times Online (анг.)
- ^ The Open Group Base Specifications Issue 6 IEEE Std 1003.1, 2004 Edition (definition of epoch), IEEE' (анг.)
- ^ Diomidis Spinellis (2006). Code quality: the open source perspective. Effective software development series in Safari Books Online (illustrated ed.). Adobe Press. ISBN 0-321-16607-8.