시스템 시간

컴퓨터 과학컴퓨터 프로그래밍에서시스템 시간(system time)은 시간의 흐름에 따른 컴퓨터 시스템의 개념을 말한다. 이같은 문맥에서 시간은 달력의 일수가 경과하는 것도 포함한다.

유닉스 date 명령어

시스템 시간은 시스템 클록에 의해 측정되며, 이는 일반적으로 기원일이라 부르는 특정한 시작일 이래로 발생된, 틱(tick)의 수를 단순히 세는 것으로 구현된다. 이를테면 유닉스POSIX 호환 시스템들은 시스템 시간(유닉스 시간)을 윤초를 제외하고 1 January 1970 00:00:00 UT유닉스 시간 시작점 이후로 경과한 초 단위의 수로 인코딩한다. 윈도우 9x, 윈도우 NT와 같이 32비트와 64비트 버전의 윈도우 API를 구현하는 시스템들은 연도/월/일/시간/분/초/밀리초 값을 대표하는 SYSTEMTIME과 1 January 1601 00:00:00 UT 이후의 100 나노초의 틱의 수를 세는 FILETIME을 시스템 시간으로 둘 다 제공한다.

시스템 시간은 날짜 시간으로 변환할 수 있으며, 이는 인간이 이해하기에 더 적합한 형태이다.

역사

대부분의 1세대 PC들은 날짜와 시간을 추적하지 못했다. 여기에는 CP/M 운영 체제를 구동하던 시스템뿐 아니라 초기 모델의 애플 II, BBC 마이크로, 코모도어 PET도 포함되었다. IBM PC/AT메인보드에 날짜/시간 하드웨어가 장착된 최초의 상용화된 개인용 컴퓨터였다. 온보드 배터리 백업이 있는 실시간 시계 칩이 포함된 애드온 주변 기판IBM PCXT용으로 이용이 가능하게 되었다. 컴퓨터 네트워크가 널리 사용할 수 있기 전까지 시스템 시간을 추적하였던 대부분의 개인용 컴퓨터 시스템들은 오직 로컬 시간과만 관계를 맺었고 시간대에 대한 허용을 두지 않았다.

시스템 시간의 반환

27 3월 2024 06:21:50 UTC

이 문서가 마지막으로 생성될 때의 위키백과 시스템 시간이다.
이 문서를 새로 고친 다음 이 카운터를 업데이트합니다.

운영 체제

운영 체제명령어 또는 함수해상도기원 또는 범위
안드로이드java.lang.System.currentTimeMillis()1 ms1 January 1970
바이오스 (IBM PC)INT 1Ah, AH=00h[1]54.931 ms
18.204 Hz
Midnight of the current day
INT 1Ah, AH=02h[2]1 sMidnight of the current day
INT 1Ah, AH=04h[3]1 day1 January 1980 to 31 December 1999 or 31 December 2079 (system dependent)
CP/MSystem Control Block:[4]
scb$base+58h, Days since 1 Jan 1978
scb$base+5Ah, Hour (BCD)
scb$base+5Bh, Minute (BCD)
scb$base+5Ch, Second (BCD)
1 s1 January 1978 to September 2067
BDOS function 69h (T_GET):[5]
word, Days since 1 January 1978
byte, Hour (BCD)
byte, Minute (BCD)
byte, Second (BCD)
도스 (마이크로소프트)C:\>DATE
C:\>TIME
10 ms1 January 1980 to 31 December 2099
INT 21h, AH=2Ch SYSTEM TIME[6]
INT 21h, AH=2Ah SYSTEM DATE[7]
iOS (애플)CFAbsoluteTimeGetCurrent()[8]< 1 ms1 January 2001 ±10,000 years
맥 OS (애플)CFAbsoluteTimeGetCurrent()[9]< 1 ms[10][note 1]1 January 2001 ±10,000 years[10][note 1]
OpenVMS (HP)SYS$GETTIM()100 ns17 November 1858 to AD 31,086
Z/OS (IBM)STCK[11]2−12 μs
244.14 ps[12]
1 January 1900 to 17 September 2042 UT[13]
유닉스, POSIX
(see also Time.h)
$date
Time.h
1 s(*)
1 January 1970 to 19 January 2038
1 January 1970 to AD 292,277,026,596
gettimeofday

()

1 μs
clock_gettime

()

1 ns
윈도우 (마이크로소프트)GetSystemTime()1 ms1 January 1601 to AD 30,828
GetSystemTimeAsFileTime()100 ns

프로그래밍 언어 및 응용 프로그램

언어/응용 프로그램함수 또는 변수해상도기원 또는 범위
AdaAda.Calendar.Clock100 μs to
20 ms (*)
1 January 1901 to 31 December 2099 (*)
AWKsystime()1 s(*)
베이직, en:True BASICDATE, DATE$
TIME, TIME$
1 s(*)
비즈니스 베이직DAY, TIM0.1 s(*)
C (see Time.h)Time.h1 s (*)[note 2](*)[note 2]
C++std::time()
std::chrono::system_clock::now()
1 s (*)[note 2]
1 ns (C++11, OS dependent)
(*)[note 2]
C# (마이크로소프트)System.DateTime.Now[14]
System.DateTime.UtcNow[15]
100 ns[16]1 January 0001 to 31 December 9999
CICS (IBM)ASKTIME1 ms1 January 1900
코볼FUNCTION CURRENT-DATE1 s1 January 1601
커먼 리스프(get-universal-time)1 s1 January 1900
Delphi (볼랜드)date
time
1 ms
(부동소수점)
1 January 1900
Delphi
(엠바카데로 테크놀로지스)[17]
System.SysUtils.Time[18]1 ms0/0/0000 0:0:0:000 to 12/31/9999 23:59:59:999 [sic]
System.SysUtils.GetTime[19] (alias for System.SysUtils.Time)
System.SysUtils.Date[20]0/0/0000 0:0:0:000 to 12/31/9999 0:0:0:000 [sic]
System.DateUtils.Today[21]
System.DateUtils.Tomorrow[22]
System.DateUtils.Yesterday[23]
System.SysUtils.Now[24]1 s0/0/0000 0:0:0:000 to 12/31/9999 23:59:59:000 [sic]
System.SysUtils.DayOfWeek[25]1 day1 to 7
System.SysUtils.CurrentYear[26]1 year(*)
en:Emacs Lisp(current-time)1 μs (*)1 January 1970
Erlang (에릭슨)erlang:system_time(), os:system_time()[27]OS dependent, e.g. on 리눅스 1ns[27]1 January 1970[27]
Excel (마이크로소프트)date()?0 January 1900[28]
포트란DATE_AND_TIME
SYSTEM_CLOCK
(*)[29]

[30]

1 January 1970
CPU_TIME1 μs
Gotime.Now()1 ns1 January 0001
하스켈Time.getClockTime1 ps (*)1 January 1970 (*)
Data.Time.getCurrentTime1 ps (*)17 November 1858 (*)
Java (Sun)java.util.Date()
System.currentTimeMillis()
1 ms1 January 1970
System.nanoTime()[31]1 nsarbitrary[31]
Clock.systemUTC()[32]1 nsarbitrary[33]
자바스크립트(new Date()).getTime()
Date.now()
1 ms1 January 1970
MATLABnow1 s0 January 0000[34]
en:MUMPS$H (short for $HOROLOG)1 s31 December 1840
LabVIEWTick Count1 ms00:00:00.000 1 January 1904
Get Date/Time in Seconds1 ms00:00:00.000 1 January 1904
오브젝티브-C[NSDate timeIntervalSinceReferenceDate]< 1 ms[35]1 January 2001 ±10,000 Years[35]
OCamlUnix.time()1 s1 January 1970
Unix.gettimeofday()1 μs
Extended PascalGetTimeStamp()1 s(*)
터보 파스칼GetTime()
GetDate()
10 ms(*)
time()1 s1 January 1970
Time::HiRes::time[36]1 μs
PHPtime()
mktime()
1 s1 January 1970
microtime()1 μs
파이썬datetime.now().timestamp()1 μs (*)1 January 1970
RPGCURRENT(DATE), %DATE
CURRENT(TIME), %TIME
1 s1 January 0001 to 31 December 9999
CURRENT(TIMESTAMP), %TIMESTAMP1 μs
루비Time.now()[37]1 μs (*)1 January 1970 (to 19 January 2038 prior to Ruby 1.9.2[38])
스몰토크Time microsecondClock
(VisualWorks)
1 s (ANSI)
1 μs (VisualWorks)
1 s (Squeak)
1 January 1901 (*)
Time totalSeconds
(Squeak)
SystemClock ticksNowSinceSystemClockEpoch
(Chronos)
SQLCURDATE()
CURTIME()
GETDATE()
NOW()
SYSDATE()
3 ms1 January 1753 to 31 December 9999 (*)
60 s1 January 1900 to 6 June 2079
en:Standard MLTime.now()1 μs (*)1 January 1970 (*)
TCL[clock seconds]1 s1 January 1970
[clock milliseconds]1 ms
[clock microseconds]1 μs
[clock clicks]1 μs (*)(*)
윈도우 파워셸Get-Date[39][40]100 ns[16]1 January 0001 to 31 December 9999
[DateTime]::Now[14]
[DateTime]::UtcNow[15]
비주얼 베이직 닷넷 (마이크로소프트)System.DateTime.Now[14]
System.DateTime.UtcNow[15]
100 ns[16]1 January 0001 to 31 December 9999

같이 보기

내용주

각주

외부 링크