>  기사  >  웹 프론트엔드  >  자바스크립트의 시간

자바스크립트의 시간

高洛峰
高洛峰원래의
2016-11-08 14:23:421265검색

프로그래밍을 하다 보면 필연적으로 시간을 다루게 됩니다. 예를 들어, 반짝 세일 이벤트를 완료하려면 시간 액세스, 시간 동기화 및 시차 계산과 같은 많은 세부 정보가 필요합니다. JavsScript의 간단한 예입니다. 브라우저 콘솔에 new Date()를 입력하면 다음과 같은 결과가 나타납니다.

Sun Oct 30 2016 16:27:04 GMT+0800 (CST)

출력된 전반부의 의미는 2016년 10월 30일 일요일 오후 16시 27분 4초를 의미하므로 이해하기 쉽습니다. ? 아이디어에 대해 더 자세히 알아보려면 이 문서에서 JS의 시간에 대해 자세히 알아보세요.

1. 시간의 표현

고대에는 천문학의 가장 중요한 업무 중 하나가 시간을 측정하고 달력을 만드는 일이었습니다. 고대 우리나라에서는 1년을 12개월, 24절기로 나누고, 하루를 12시간으로 나누어 농사를 지도하는 효율적인 시간 표현법을 창안하고자 하였다. 현대사회가 발전함에 따라 시간의 표현에도 보다 과학적이고 정확한 방법이 요구되고 있다.

측정

타이밍 도구에서 시작

고대에는 태양과 지구의 각도 변화에 따라 인간이 일하고 쉬었습니다. 해질녘에 휴식을 취하는 동안 인간은 항상 이러한 지속적인 작업과 휴식 패턴을 따라왔습니다. 당시 사람들은 시간에 대한 특별한 개념이 없었고 시간 측정 도구도 사용하지 않았습니다.

중국 주(周)나라 시대에는 하루를 12시간(자, 주, 음, 모, 진, 사, 오, 위, 신, 유, 우, 해)으로 나누었는데, 이는 자정에 해당하고 , 평평한 날, 일출, 일식 시간, 모퉁이, 정오, 정오, 오후, 일출, 황혼 및 인간의 결심. 사람들의 일상 생활 패턴을 안내하는 데 사용됩니다. 이때, 우리는 대략적인 시간을 기록하기 위해 모래시계와 해시계를 사용합니다. 구분할 수 있는 가장 짧은 시간은 1시간(2h)입니다.

이후 산업혁명으로 인류는 산업시대에 들어섰고, 이때 사람들은 하루를 12시간으로 나누어 시간당 60분, 분당 60초로 나누었습니다. 보다 효율적인 생산을 위해 우리는 시계를 이용해 시간을 기록하게 되었고, 시간 활용도가 두 번째 수준에 이르렀습니다.

이제 우리의 타이밍 도구가 차가운 원자시계로 업그레이드되었습니다. 예를 들어, 우리나라의 Beidou 항법 위성 시스템은 원자 시계를 사용하여 시간을 기록하며 타이밍 정확도는 나노초 수준(1ns=10^-9s)에 도달했습니다. 우리는 공간과 시간을 결합하여 시간을 통해 공간을 계산하고 공간 속의 시간을 변환할 수 있습니다.

ps: 중국과학원 박사과정 지도교수인 쉬잉(Xu Ying) 선생님이 공원에서 베이더우에 대해 강연하는 것을 들은 적이 있는데, 인간의 창의성과 중국의 막강한 국력에 감탄하지 않을 수 없었습니다. .

인류 문명의 발전과 함께 타이밍 도구도 끊임없이 발전하고 있습니다. 이러한 도구의 도움으로 인간은 시간을 점점 더 세밀하게 분할하고 있으며 시간 자원의 활용도는 점점 더 높아지고 있습니다.

시간 단위

특정 시간 간격을 표현하기 위해 시간 단위를 사용합니다. 일반적으로 사용되는 시간 단위는 세기, 연도, 분기, 월, 일, 시, 분, 초, 밀리초, 마이크로초입니다. 나노초 등 현재 인간이 측정할 수 있는 가장 짧은 시간 단위는 아토초(attosecond)로, 이는 중성 파이온의 수명으로 10^-18초에 해당합니다.

사람의 시간을 세분화하고 기준을 정하는 과정은 사실 인간이 시간을 탐색하고 활용하는 과정이라고 할 수 있다. 시간 단위에 대한 우리의 이해는 우리가 살고 있는 시간과 공간에 대한 우리의 이해를 반영할 수 있습니다. 시간의 단위는 인류 과학문명의 발전과정을 반영하기도 한다.

시간

우리는 보통 지금을 9시라고 말하지만 실제로는 시간을 가리키는 말입니다. 우리가 표현하고 싶은 것은 9시라는 시점에 이르렀다는 것입니다. 크기도 방향도 없고 특정 시점만을 표현합니다. 길이를 측정하기 위해 자를 사용하는 것처럼, 시간을 측정하기 위해 초와 시간이 표시된 "눈금자"도 사용합니다. 그리고 시간은 우리 모두가 이해할 수 있는 자의 특정 척도일 뿐입니다. 유일한 차이점은 공간의 길이는 일반적으로 일정하지만 시간은 항상 되돌릴 수 없게 증가한다는 것입니다.

2. 시간 표준화

우선 시간은 우주 전체에 걸쳐 통일되어 있다는 사실을 깨달아야 한다. 우주의 탄생부터 현재까지, 우리가 경험한 시간을 표현하기 위해 항상 특정 시간 간격 값이 사용될 수 있으며, 이는 고정된 값입니다. 그러면 우리는 왜 여기서는 오전 9시라고 하는데 영국에서는 오전 1시인지 묻지 않을 수 없습니다. 이로 인해 아래에서 언급할 시간 표준 문제가 발생합니다.

과거에는 인간 활동의 범위가 상대적으로 좁았고, 시간대가 인간의 일과 휴식에 미치는 영향은 기본적으로 눈에 띄지 않았습니다. 우리가 태양 아래에서 열심히 일하는 동안 지구 반대편에 있는 사람들이 이미 잠들었다는 것을 우리는 결코 상상할 수 없습니다.

그러나 산업혁명 이후 인간의 생산과 운송은 계속해서 발전했고, 글로벌 협업은 거침없는 추세가 됐다. 이때 사람들은 지구가 서쪽에서 동쪽으로 끊임없이 자전하고 있으며, 한 바퀴가 하루라는 사실을 깨달았습니다. 일출 시간은 경도가 다른 지역에 따라 다릅니다. 예를 들어, 중국 베이징은 아직 정오이고, 바다 건너 미국 뉴욕은 늦은 밤이다. 아침 8시에 전화를 걸어 미국에서 온 XXX에게 이제 출근 시간이 됐다고 말했습니다. 상대방은 표정이 어리둥절한 모양이라 잠에 들려고 했습니다.

사람들이 지구 자전의 천문학적 법칙을 깨닫기 때문에 전 세계적으로 통일된 시간 표준을 개발해야 합니다. 이런 식으로 우리는 세계 어느 지역에서든 현지 시간(일출 시간과 일몰 시간)을 계산할 수 있습니다. 더 나은 협업을 위해 현지 시간을 기준으로 합니다.

그리니치 표준시(GMT)

그리니치는 영국 런던 교외에 위치한 왕립 그리니치 천문대입니다. 우리가 흔히 말하는 그리니치 표준시는 이곳의 시간을 기준으로 한 것입니다. 시간에 따라 확립된 시스템.

여러 곳의 시간을 정확하게 표현하기 위해 1884년 국제 경도 회의에서는 영국 그리니치 천문대를 통과하는 경도를 경도 계산의 시작 경도로 정하기로 결정했습니다. 본초 자오선. 자정의 본초자오선을 기준으로 계산한 평균태양시는 동쪽과 서쪽으로 각각 12시간씩 늘어나거나 줄어드는 것을 통일된 시간 기준으로 그리니치 표준시라고 합니다. 이것이 GMT 시간의 유래입니다. 지구의 자전을 기준으로 정의된 일련의 시간 기준으로 일상 생활, 천문학 항해, 우주 비행 및 기타 인간 활동에서 중요한 역할을 합니다.

GMT의 제정으로 시간대 개념도 생겨났습니다. 우리는 외국에 대한 뉴스 보도를 듣다 보면 현지 시간 XX:XX, 현지 시간 YY:yy, 그리고 발라발라에 어떤 주요 사건이 일어났는지 자주 듣습니다. 이는 실제로 시간 표현에 있어서 다른 시간대에 있는 사람들 사이의 시간 이해의 차이를 피하기 위한 것입니다.

타임존(Time Zone)은 해당 지역의 표준시간을 설정합니다. 이론적으로는 자오선을 15로 나누어지는 선을 중심으로 동서로 7.5경도에 걸쳐 시간대로 나누어져 있습니다. 실제로 각 국가의 영토는 불규칙하고 일반적으로 여러 시간대에 걸쳐 있기 때문에 국가에서는 전체 행정 구역 내에서 실제 시간대를 규정하며 이를 법적 시간대라고 합니다. 예를 들어, 중국은 서에서 동으로 5개 시간대(동5, 동6, 동7, 동8, 동9)에 걸쳐 있습니다. 중화인민공화국 건국 이후 국가는 수도를 동8시로 통일적으로 채택했습니다. 베이징을 표준시로 하여 베이징시(Beijing Time)라고 합니다.

협정 세계시(UTC)

UTC는 GMT로 오해되는 경우가 많습니다. 사실 두 표현 방식은 전혀 다릅니다.

UTC의 기원

인류는 지구의 자전이 서서히 감소하는 것을 관찰했습니다. 일정 시간이 지나면 지구의 자전 시간이 현재의 24시간보다 길어지므로 GMT 시간이 됩니다. 더 이상 표준 시간 사용에 적합하지 않습니다. 오늘날의 표준시는 원자시계로 시간을 측정하는 협정세계시(Coordinated Universal Time)입니다. 이는 국제도량형국과 국제지구자전서비스(IERS)가 관리하는 시간 척도입니다. 주파수 및 시간 신호.

그렇다면 UTC를 다시 만들어야 하는 이유는 무엇일까요? 사실 너무 귀찮은 일을 하고 싶은 사람은 없겠죠?

우리는 일반적으로 지구가 한 번 자전하는 데 24시간이 걸린다고 생각합니다. 그러나 지구의 자전 속도가 느리기 때문에 24시간 후에도 지구는 한 번의 완전한 회전을 완료하지 못할 수도 있습니다. 24시간은 지구의 완전한 공전과 일치하므로, 시계의 시간은 지구가 한 바퀴 회전할 때까지 기다려야 합니다. 이것이 협정 세계시(Coordinated Universal Time)에서 "조정된"이라는 단어의 의미입니다. UTC 시간은 실제로 국제원자시(TAI)보다 느립니다.

참고: 두 번째는 시간의 기본 국제 단위입니다. 현재 국제 표준 1초는 세슘 바닥 상태의 두 초미세 에너지 수준 사이의 전이에 해당하는 9,192,631,770주기의 방사선 기간입니다. 133 원자

직설적으로 말하면 TAI 시간은 원자 법칙에 따라 정의된 시간으로, 이 시간은 오랫동안 변하지 않습니다. UTC는 지구의 자전 주기를 따르도록 설정된 시간입니다. UTC는 지구 자전 속도의 차이를 보상하기 위해 전 세계의 시계를 정지합니다. 수정 및 동기화 메커니즘은 IERS입니다. 세계의 모든 국가는 UTC 시간과 해당 국가의 시간대를 기준으로 현지 시간을 결정하여 글로벌 시간의 낮은 오류 동기화를 보장합니다.

윤초

UTC는 지구의 자전 속도가 느려지는 영향을 없애기 위해 윤초(윤초)를 추가하여 시간을 수정합니다. 윤초는 지구의 자전 속도가 느려지면서 발생하는 원자 시계와의 시간 차이의 균형을 맞추기 위해 의도적으로 설정되었습니다. 윤초를 포함하지 않는다면, 수만 년 후에는 정오 12시가 아침 0시가 될 수도 있고, 몇 백만 년 후에는 달력상의 겨울이 여름이 될 것이고, 전체 생산과 생명은 그렇게 될 것입니다. 혼란스러워.

윤초 도입 시기는 UTC-TAI의 진화 차이에 따라 매년 6월과 12월 말이며, 윤초 추가 여부는 6개월마다 공지됩니다(이번 IERS 줄기 작업입니다).

마지막 윤초 소개 시간은 UTC 2015-6-30 23:59:60이었고 다음 윤초 소개 시간은

2016-12-31 23:59: 592016입니다. -12-31 23:59:602017-01-01 00:00:00

2015-07-01 00:00:00 UTC부터 2017-01-01 00:00:00 UTC 시차는 UTC - TAI = -36초입니다. 즉, UTC 시간 표준은 실제 원자 시계 시간보다 인위적으로 36초 느립니다.

PS1: 수익을 낸 것 같나요? 36초를 더 살았습니다! PS2: 현재 인간이 사용하는 대부분의 시간은 이미 UTC 시간이지만, 많은 경우 GMT의 시간대 구분 규칙이 그대로 유지되므로 GMT 시간이 여전히 여러 곳에 표시됩니다.

베이징 표준시(중국 표준시, CST)

우리 나라의 시간 기준에 대해 다시 이야기해 보겠습니다. 베이징 시간은 베이징에서 결정되는 것이 아니라 산시성 린퉁에 위치한 중국과학원 국가시각센터(국가시각관측소)에서 9개의 세슘 원자시계로 결정됩니다. , 산시성 푸청(陝西省) 두 곳 모두 중국 영토의 기하학적 중심에 위치하고 있으며(세슘시계), 2개의 수소 원자시계 세트는 정밀한 비교와 계산을 통해 구현되며, 시간 서비스 부서와의 실시간 비교를 통해 결정됩니다. 위성을 통해 전 세계로. 국내 장비는 National Time Service Center에서 제공하는 NTP(Network Time Protocol) 서버를 통해 현지 시간과 동기화될 수 있습니다. 구체적인 사용법은 여기에서 확인할 수 있습니다.

Mac에서는 다음 명령과 지정된 NTP 서버를 통해 시간을 조정할 수 있습니다.

➜ ~ sudo ntpdate -u cn.pool.ntp.org
1 Nov 03: 20 :08 ntpdate[84376]: 조정 시간 서버 59.46.44.253 오프셋 0.014804초
➜ ~

3. 요약

글 시작 부분에서 언급한 내용으로 돌아가서 new Date( ) 데이터를 출력하면 모든 내용이 지워집니다.

GMT, 그리니치 표준시를 나타냅니다. 여기서 GMT란 시간에 사용되는 시간대는 GMT 기준이고, 시간은 GMT를 기준으로 합니다. UTC 시간

+0800은 현재 시간과 표준 시간의 시차를 분 단위까지 정확하게 나타냅니다. +0800, 현재 시간이 UTC 시간보다 8시간 빠르다는 것을 나타냄

CST는 베이징 시간을 의미합니다

완료!

추첨

하나 문 프로그래밍 언어에는 많은 세부 사항이 있으며, 여기에는 종종 큰 지혜가 포함되어 있습니다. 이 기사에서 언급된 시간을 예로 들어 보겠습니다. 몇 가지 간단한 단어에는 최근 수백 년 동안 인류의 과학 기술 문명 발전의 성과가 포함되어 있으며 시간에 대한 인류의 존경과 경외심을 반영합니다.


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.