time(2) - wariua/manpages-ko GitHub Wiki

NAME

time - 초 λ‹¨μœ„ μ‹œκ°„ μ–»κΈ°

SYNOPSIS

#include <time.h>

time_t time(time_t *tloc);

DESCRIPTION

time()은 에포크(Epoch), 즉 1970-01-01 00:00:00 +0000 (UTC) μ΄ν›„μ˜ 초 수둜 μ‹œκ°„μ„ λ°˜ν™˜ν•œλ‹€.

tloc이 NULL이 μ•„λ‹ˆλ©΄ λ°˜ν™˜ 값을 tloc이 κ°€λ¦¬ν‚€λŠ” λ©”λͺ¨λ¦¬μ—λ„ μ €μž₯ν•œλ‹€.

RETURN VALUE

성곡 μ‹œ 에포크 이후 초 λ‹¨μœ„ μ‹œκ°„ 값을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ ((time_t) -1)을 λ°˜ν™˜ν•˜λ©° errnoλ₯Ό 적절히 μ„€μ •ν•œλ‹€.

ERRORS

EFAULT

tloc이 μ ‘κ·Ό κ°€λŠ₯ν•œ μ£Όμ†Œ 곡간 밖을 가리킨닀. (ν•˜μ§€λ§Œ BUGS μ°Έκ³ .)

C 라이브러리의 time() 래퍼 ν•¨μˆ˜κ°€ vdso(7)μ—μ„œ μ œκ³΅ν•˜λŠ” κ΅¬ν˜„μ²΄λ₯Ό ν˜ΈμΆœν•˜λŠ” (κ·Έλž˜μ„œ 컀널 λ‚΄ 트랩이 λ°œμƒν•˜μ§€ μ•ŠλŠ”) μ‹œμŠ€ν…œμ—μ„œλŠ” μœ νš¨ν•˜μ§€ μ•Šμ€ μ£Όμ†Œ μ‚¬μš© μ‹œ SIGSEGV μ‹œκ·Έλ„μ΄ 유발될 수 μžˆλ‹€.

CONFORMING TO

SVr4, 4.3BSD, C89, C99, POSIX.1-2001. POSIXμ—μ„œλŠ” μ–΄λ–€ 였λ₯˜ 쑰건도 λͺ…μ„Έν•˜κ³  μžˆμ§€ μ•Šλ‹€.

NOTES

POSIX.1μ—μ„œλŠ” 에포크 μ΄ν›„μ˜ 초 수λ₯Ό μ •μ˜ν•  λ•Œ νŠΉμ • μ‹œκ°„κ³Ό 에포크 사이 초 수λ₯Ό κ·Όμ‚¬μ μœΌλ‘œ κ³„μ‚°ν•˜λŠ” 식을 μ“΄λ‹€. 이 μ‹μ—μ„œλŠ” 4둜 λ‚˜λˆ λ–¨μ–΄μ§€λŠ” ν•΄κ°€ μœ€λ…„μ΄λ©΄μ„œ 100으둜 λ‚˜λˆ λ–¨μ–΄μ§€λŠ” ν•΄λŠ” μœ€λ…„μ΄ μ•„λ‹ˆκ³ , 400으둜 λ‚˜λˆ λ–¨μ–΄μ§€λŠ” ν•΄λŠ” λ‹€μ‹œ μœ€λ…„μ΄λΌλŠ” 점을 μ°Έμž‘ν•œλ‹€. ν•˜μ§€λ§Œ 이 값이 μ–΄λ–€ μ‹œκ°„κ³Ό 에포크 μ‚¬μ΄μ˜ μ‹€μ œ 초 μˆ˜μ™€ κ°™μ§€λŠ” μ•Šμ€λ°, 윀초 λ•Œλ¬Έμ΄κΈ°λ„ ν•˜κ³  μ‹œμŠ€ν…œ 클럭이 κΌ­ μ–΄λ–€ ν‘œμ€€ 기쀀에 동기화돼 μžˆμ§€λŠ” μ•Šμ„ μˆ˜λ„ 있기 λ•Œλ¬Έμ΄λ‹€. μ–΄μ¨Œλ“  κ·Έ μ˜λ„λŠ” 에포크 이후 초 κ°’μ΄λΌλŠ” 것을 μΌκ΄€μ μœΌλ‘œ 해석할 수 있게 ν•˜λŠ” 것이닀. λ‹€λ₯Έ 근거듀은 POSIX.1-2008 Rationale A.4.15 μ°Έκ³ .

λ¦¬λˆ…μŠ€μ—μ„œ tloc을 NULL둜 ν•΄μ„œ time()을 ν˜ΈμΆœν•˜λ©΄ ABIμ—μ„œ time_tκ°€ λΆ€ν˜Έ μžˆλŠ” 32λΉ„νŠΈ μ •μˆ˜μ΄κ³  클럭이 2**31 μ‹œμ (2038-01-19 03:14:08 UTC, μœ€μ΄ˆλŠ” κ³„μ‚°μ—μ„œ μ œμ™Έ)을 λ„˜μ–΄κ°€λŠ” κ²½μš°μ—λ„ EOVERFLOW 였λ₯˜λ‘œ μ‹€νŒ¨ν•  수 μ—†λ‹€. (POSIX.1μ—μ„œλŠ” 에포크 이후 초 μˆ˜κ°€ time_t에 λ“€μ–΄κ°€μ§€ μ•ŠλŠ” κ²½μš°μ— EOVERFLOW 였λ₯˜λ₯Ό ν—ˆμš©ν•˜λ˜ μš”κ΅¬ν•˜μ§€λŠ” μ•ŠλŠ”λ‹€.) μ‹œμŠ€ν…œ μ‹œκ°„μ΄ time_t λ²”μœ„ 밖일 λ•Œ λ¦¬λˆ…μŠ€μ—μ„œμ˜ λ™μž‘ 방식은 κ·œμ •λΌ μžˆμ§€ μ•Šλ‹€. 2038λ…„ 후에도 λ™μž‘ν•΄μ•Ό ν•˜λŠ” μ‘μš©μ—μ„œλŠ” time_tκ°€ 32λΉ„νŠΈλ³΄λ‹€ 큰 ABIλ₯Ό μ΄μš©ν•˜λŠ” 게 μ’‹λ‹€.

BUGS

이 μ‹œμŠ€ν…œ ν˜ΈμΆœμ—μ„œ 였λ₯˜λ₯Ό λ°˜ν™˜ν•˜λŠ” κ²½μš°μ™€ μ—ν¬ν¬μ—μ„œ λͺ‡ 초 μ „ μ‹œκ°„μ— 성곡 값을 μ•Œλ € μ£ΌλŠ” 경우λ₯Ό ꡬ별할 수 μ—†λ‹€. λ”°λΌμ„œ C 라이브러리 래퍼 ν•¨μˆ˜μ—μ„œλŠ” μ ˆλŒ€λ‘œ 이 호좜의 κ²°κ³Ό 값에 따라 errnoλ₯Ό μ„€μ •ν•˜μ§€ μ•ŠλŠ”λ‹€.

tloc μΈμžλŠ” ꡬ식이 됐으며 μƒˆλ‘œ μž‘μ„±ν•˜λŠ” μ½”λ“œμ—μ„œλŠ” 항상 NULL둜 μ„€μ •ν•˜λŠ” 게 μ’‹λ‹€. tloc이 NULL일 λ•Œ 이 ν˜ΈμΆœμ€ μ‹€νŒ¨ν•  수 μ—†λ‹€.

C 라이브러리/컀널 차이

일뢀 μ•„ν‚€ν…μ²˜μ—μ„œλŠ” vdso(7)μ—μ„œ time() κ΅¬ν˜„μ„ μ œκ³΅ν•œλ‹€.

SEE ALSO

date(1), gettimeofday(2), ctime(3), ftime(3), time(7), vdso(7)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️