time

TIME(2)         Ð ÑководÑÑво пÑогÑаммиÑÑа Linux         TIME(2)



ÐÐЯ
       time - полÑÑиÑÑ Ð²ÑÐµÐ¼Ñ Ð² ÑекÑндаÑ

ÐÐÐÐÐ
       #include <time.h>

       time_t time(time_t *tloc);

ÐÐÐСÐÐÐÐ
       time() возвÑаÑÐ°ÐµÑ ÐºÐ¾Ð»Ð¸ÑеÑÑво ÑекÑнд, коÑоÑое
       пÑоÑло Ñ Ð½Ð°Ñала ÑпоÑи, 1970-01-01 00:00:00 +0000 (UTC).

       ÐÑли tloc не Ñавно NULL, Ñо возвÑаÑаемое
       знаÑение Ñакже ÑоÑÑанÑеÑÑÑ Ð² облаÑÑÑ Ð¿Ð°Ð¼ÑÑи,
       на коÑоÑÑÑ ÑказÑÐ²Ð°ÐµÑ tloc.

ÐÐÐÐÐ ÐЩÐÐÐÐÐ ÐÐÐЧÐÐÐÐ
       ÐÑи ÑдаÑном завеÑÑении ÑабоÑÑ Ð²Ð¾Ð·Ð²ÑаÑаеÑÑÑ
       вÑÐµÐ¼Ñ Ð² ÑекÑндаÑ, пÑоÑедÑее Ñ Ð½Ð°Ñала ÑпоÑи. ÐÑи
       оÑибке возвÑаÑаеÑÑÑ ((time_t) -1), а errno
       ÑÑÑанавливаеÑÑÑ Ð´Ð¾Ð»Ð¶Ð½Ñм обÑазом.

ÐШÐÐÐÐ
       EFAULT tloc ÑказÑÐ²Ð°ÐµÑ Ð·Ð° пÑÐµÐ´ÐµÐ»Ñ Ð´Ð¾ÑÑÑпного
              адÑеÑного пÑоÑÑÑанÑÑва (однако Ñм. ÐШÐÐÐÐ).

              Ð ÑиÑÑемаÑ, где обÑÑÑоÑÐ½Ð°Ñ ÑÑнкÑÐ¸Ñ time()
              библиоÑеки C вÑзÑÐ²Ð°ÐµÑ ÑеализаÑиÑ,
              пÑедоÑÑавлÑемÑÑ vdso(7) (Ñо еÑÑÑ Ð½ÐµÑ Ð»Ð¾Ð²ÑÑки
              в ÑдÑе), из-за некоÑÑекÑного адÑеÑа
              Ð¼Ð¾Ð¶ÐµÑ Ð³ÐµÐ½ÐµÑиÑоваÑÑÑÑ Ñигнал SIGSEGV.

СÐÐТÐÐТСТÐÐРСТÐÐÐÐРТÐÐ
       SVr4, 4.3BSD, C89, C99, POSIX.1-2001. Ð POSIX не опÑеделенÑ
       ÑÑÐ»Ð¾Ð²Ð¸Ñ Ð²Ð¾Ð·Ð½Ð¸ÐºÐ½Ð¾Ð²ÐµÐ½Ð¸Ñ Ð¾Ñибок.

ÐÐÐÐЧÐÐÐЯ
       Ð POSIX.1 Ð´Ð»Ñ Ð¾Ð¿ÑÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ ÑекÑнд, пÑоÑедÑÐ¸Ñ Ñ
       наÑала ÑпоÑи иÑполÑзÑеÑÑÑ ÑоÑмÑла длÑ
       пÑиблизиÑелÑного подÑÑÑÑа колиÑеÑÑва ÑекÑнд
       Ð¼ÐµÐ¶Ð´Ñ ÑказÑваемÑм вÑеменем и наÑалом
       ÑпоÑи. ÐÑа ÑоÑмÑла ÑÑиÑÑÐ²Ð°ÐµÑ ÑÐ¾Ñ ÑакÑ, ÑÑо вÑе
       годÑ, Ð½Ð¾Ð¼ÐµÑ ÐºÐ¾ÑоÑÑÑ Ð´ÐµÐ»Ð¸ÑÑÑ Ð½Ð° 4, ÑÑиÑаÑÑÑÑ
       виÑокоÑнÑми, но годÑ, коÑоÑÑе делÑÑÑÑ Ð½Ð° 100 не
       виÑокоÑнÑе, еÑли они Ñакже не делÑÑÑÑ Ð½Ð° 400
       (коÑоÑÑе нÑжно ÑÑиÑаÑÑ Ð²Ð¸ÑокоÑнÑми). ÐÑо
       знаÑение не ÑвлÑеÑÑÑ Ñказанием на ÑоÑное
       колиÑеÑÑво ÑекÑнд Ð¼ÐµÐ¶Ð´Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñм вÑеменем
       и наÑалом ÑпоÑи вÑледÑÑвие игноÑиÑованиÑ
       виÑокоÑнÑÑ ÑекÑнд и по пÑиÑине Ñого, ÑÑо вÑемÑ
       в ÑаÑÐ°Ñ Ð½ÐµÐ¾Ð±ÑзаÑелÑно ÑинÑÑонизиÑовано Ñо
       вÑеменем ÑÑандаÑÑного иÑÑоÑника. СÑиÑаеÑÑÑ,
       ÑÑо ÑÑо знаÑение ÑооÑвеÑÑÑвÑÐµÑ Ð½Ð°ÑÑоÑÑемÑ
       колиÑеÑÑÐ²Ñ ÑекÑнд, пÑоÑедÑÐµÐ¼Ñ Ñ Ð½Ð°Ñала ÑпоÑи.
       ÐополниÑелÑнÑÑ Ð¸Ð½ÑоÑмаÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ найÑи в
       POSIX.1-2008 Rationale A.4.15.

       Ð Linux, вÑзов time() Ñо знаÑением tloc ÑавнÑм NULL,
       не Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð²ÐµÑÑиÑÑÑÑ Ð¾Ñибкой EOVERFLOW, даже Ñ
       ABI, Ñ ÐºÐ¾ÑоÑого time_t â знаковое 32-биÑное
       Ñелое и колиÑеÑÑво ÑакÑов ÑаÑов вÑÑÐ¾Ð´Ð¸Ñ Ð·Ð°
       пÑеделами вÑемени 2**31 (2038-01-19 03:14:08 UTC,
       виÑокоÑнÑе ÑекÑÐ½Ð´Ñ Ð¸Ð³Ð½Ð¾ÑиÑÑÑÑÑÑ) (в POSIX.1
       допÑÑкаеÑÑÑ, но не ÑÑебÑеÑÑÑ Ð²Ð¾Ð·Ð²ÑÐ°Ñ Ð¾Ñибки
       EOVERFLOW в ÑлÑÑае, когда колиÑеÑÑво ÑекÑнд Ñ
       наÑала ÑпоÑи не Ð²Ð»ÐµÐ·Ð°ÐµÑ Ð² time_t). ÐмеÑÑо ÑÑого,
       поведение в Linux ÑвлÑеÑÑÑ Ð½Ðµ опÑеделÑннÑм,
       когда ÑиÑÑемное вÑÐµÐ¼Ñ Ð²ÑÑÐ¾Ð´Ð¸Ñ Ð·Ð° гÑаниÑÑ
       диапазона time_t. ÐÑиложениÑ, коÑоÑÑе должнÑ
       ÑабоÑаÑÑ Ð¿Ð¾Ñле 2038 года, Ð´Ð¾Ð»Ð¶Ð½Ñ Ð¸ÑполÑзоваÑÑ
       ABI, в коÑоÑом Ñип time_t болÑÑе 32 биÑ.

ÐÐФÐÐТЫ
       ÐÑибка, возвÑаÑÐ°ÐµÐ¼Ð°Ñ Ð¸Ð· ÑÑого ÑиÑÑемного
       вÑзова неоÑлиÑима Ð¾Ñ ÑÑпеÑного вÑполнениÑ
       в ÑлÑÑае, когда Ð¼Ð¾Ð¼ÐµÐ½Ñ Ð²Ñемени â за
       неÑколÑко ÑекÑнд до ÑпоÑи, поÑÑÐ¾Ð¼Ñ Ð¾Ð±ÑÑÑоÑнаÑ
       ÑÑнкÑÐ¸Ñ Ð±Ð¸Ð±Ð»Ð¸Ð¾Ñеки C никогда не изменÑеÑ
       errno пÑи возвÑаÑе.

       ÐÑгÑÐ¼ÐµÐ½Ñ tloc ÑÑÑаÑел и в новом коде вÑегда
       должен бÑÑÑ Ñавен NULL. ÐÑли tloc Ñавно NULL, Ñо
       вÑзов не Ð¼Ð¾Ð¶ÐµÑ Ð·Ð°Ð²ÐµÑÑиÑÑÑÑ Ð¾Ñибкой.

СÐÐТРÐТРТÐÐÐÐ
       date(1), gettimeofday(2), ctime(3), ftime(3), time(7), vdso(7)



Linux                             2015-12-28                           TIME(2)