2021년 5월 3일이 2021년의 이정표 중 하나라는 것을 우연히 발견했습니다.유닉스 시간. 정확히 자정(UTC)에 숫자는 time_t
10,000,000으로 나누어집니다.
$ date --utc --date='@1620000000'
Mon 3 May 00:00:00 UTC 2021
나는 수학을 잘하지 못하므로 누군가가 다음을 설명할 수 있기를 바랍니다.
- Unix 시간은 자정에 얼마나 자주 10,000,000초로 나누어지나요?
- 이 현상에 이름이 있나요?
- 또 어떤 흥미로운 유닉스 시대가 있었나요?
답변1
0000000000부터 9990000000까지 반복했는데, 자정에 반환된 날짜는 10,000,000으로 나눌 수 있습니다.
for i in $(seq 0 9);do for j in $(seq 0 9);do for k in $(seq 0 9); do DATE="@${i}${j}${k}0000000"; echo $DATE; date --utc --date=$DATE; done; done; done | grep "00:00:00" -B1
@0000000000
Thu Jan 1 00:00:00 UTC 1970
--
@0270000000
Sun Jul 23 00:00:00 UTC 1978
--
@0540000000
Wed Feb 11 00:00:00 UTC 1987
--
@0810000000
Sat Sep 2 00:00:00 UTC 1995
--
@1080000000
Tue Mar 23 00:00:00 UTC 2004
--
@1350000000
Fri Oct 12 00:00:00 UTC 2012
--
@1620000000
Mon May 3 00:00:00 UTC 2021
--
@1890000000
Thu Nov 22 00:00:00 UTC 2029
--
@2160000000
Sun Jun 13 00:00:00 UTC 2038
--
@2430000000
Wed Jan 2 00:00:00 UTC 2047
--
@2700000000
Sat Jul 24 00:00:00 UTC 2055
--
@2970000000
Tue Feb 12 00:00:00 UTC 2064
--
@3240000000
Fri Sep 2 00:00:00 UTC 2072
--
@3510000000
Mon Mar 24 00:00:00 UTC 2081
--
@3780000000
Thu Oct 13 00:00:00 UTC 2089
--
@4050000000
Sun May 4 00:00:00 UTC 2098
--
@4320000000
Wed Nov 24 00:00:00 UTC 2106
--
@4590000000
Sat Jun 15 00:00:00 UTC 2115
--
@4860000000
Tue Jan 4 00:00:00 UTC 2124
--
@5130000000
Fri Jul 25 00:00:00 UTC 2132
--
@5400000000
Mon Feb 13 00:00:00 UTC 2141
--
@5670000000
Thu Sep 4 00:00:00 UTC 2149
--
@5940000000
Sun Mar 26 00:00:00 UTC 2158
--
@6210000000
Wed Oct 15 00:00:00 UTC 2166
--
@6480000000
Sat May 6 00:00:00 UTC 2175
--
@6750000000
Tue Nov 25 00:00:00 UTC 2183
--
@7020000000
Fri Jun 15 00:00:00 UTC 2192
--
@7290000000
Mon Jan 5 00:00:00 UTC 2201
--
@7560000000
Thu Jul 27 00:00:00 UTC 2209
--
@7830000000
Sun Feb 15 00:00:00 UTC 2218
--
@8100000000
Wed Sep 6 00:00:00 UTC 2226
--
@8370000000
Sat Mar 28 00:00:00 UTC 2235
--
@8640000000
Tue Oct 17 00:00:00 UTC 2243
--
@8910000000
Fri May 7 00:00:00 UTC 2252
--
@9180000000
Mon Nov 26 00:00:00 UTC 2260
--
@9450000000
Thu Jun 17 00:00:00 UTC 2269
--
@9720000000
Sun Jan 6 00:00:00 UTC 2278
--
@9990000000
Wed Jul 28 00:00:00 UTC 2286
270000000초마다 발생하며, 이는 3125일마다 한 번씩 발생합니다.
답변2
10 000 000
10M마다 10M로 나눌 수 있는 숫자를 얻습니다 . 이것이 요인 1이다.
24시간(또는 86,400초)마다 자정에 도달합니다. 이것이 요인 2이다.
10M의 배수가 필요합니다그리고86400. 이것은 LCM(최소 공배수)이라는 수학 함수입니다. 당신은 할 수이 페이지에서 결과를 확인하세요.
이 숫자는 270 000 000
(또는 270M)입니다.
이것이 처음 발생하는 시점은 에포크 0초입니다(공식적으로는 이에 대해 논쟁의 여지가 있습니다). 또는 1/1/1970 12:00:00 UTC
.
이러한 이벤트의 간략한 목록은 다음과 같습니다.
$ for i in $(seq 20); do mult=$((i*270000000)); printf '%12s -- %s\n' "$mult" "$(date -ud @"$mult")"; done
270000000 -- Sun 23 Jul 1978 12:00:00 AM UTC
540000000 -- Wed 11 Feb 1987 12:00:00 AM UTC
810000000 -- Sat 02 Sep 1995 12:00:00 AM UTC
1080000000 -- Tue 23 Mar 2004 12:00:00 AM UTC
1350000000 -- Fri 12 Oct 2012 12:00:00 AM UTC
1620000000 -- Mon 03 May 2021 12:00:00 AM UTC
1890000000 -- Thu 22 Nov 2029 12:00:00 AM UTC
2160000000 -- Sun 13 Jun 2038 12:00:00 AM UTC
2430000000 -- Wed 02 Jan 2047 12:00:00 AM UTC
2700000000 -- Sat 24 Jul 2055 12:00:00 AM UTC
2970000000 -- Tue 12 Feb 2064 12:00:00 AM UTC
3240000000 -- Fri 02 Sep 2072 12:00:00 AM UTC
3510000000 -- Mon 24 Mar 2081 12:00:00 AM UTC
3780000000 -- Thu 13 Oct 2089 12:00:00 AM UTC
4050000000 -- Sun 04 May 2098 12:00:00 AM UTC
4320000000 -- Wed 24 Nov 2106 12:00:00 AM UTC
4590000000 -- Sat 15 Jun 2115 12:00:00 AM UTC
4860000000 -- Tue 04 Jan 2124 12:00:00 AM UTC
5130000000 -- Fri 25 Jul 2132 12:00:00 AM UTC
5400000000 -- Mon 13 Feb 2141 12:00:00 AM UTC
그건UTC 시간(협정 세계시), 이는 표시되지 않습니다.윤초.그건 다르다국제원자시(TAI)GPS 시간과 다릅니다.
나는 이벤트의 이름이 지정되었는지 알지 못합니다(또한 이름이 지정되어야 한다고 생각하지도 않습니다).
사소한 사항이 좀 있어요위키피디아:
- 2009년 2월 13일 금요일 23:31:30 UTC에 Unix 시간의 10진수 표시는 1234567890초에 도달했습니다.
답변3
원칙적으로 하루의 초 수(24·60·60=86400=2·3·3·5²)와 10·=2·5·7(2·3·3·5·7)의 최소 공배수를 구합니다.
2·3·5·7을 하루의 초수로 나누면 다음과 같습니다.
2⁷·3³·5⁷
-------- = 5⁵
2⁷·3³·5²
즉 5⁵=3125일입니다.
물론 현실은 그렇게 순탄하게 흘러가지 않는다. "자정"이 윤초에 의존한다는 사실을 고려하면 질문에서 시간이 계산되는 방식에 따라 이를 정의해야 한다는 점을 빨리 알 수 있습니다. UTC는 GPS 시스템 시간과 동일하지 않습니다. 시계에 표시된 것과 다를 수 있습니다. 시간은 Google에서 내부적으로 사용하는 시간과 다릅니다.
1 많은 사람들은 Google이 시간 제한을 더 오랜 기간(1일) 동안 "연장"하여 윤초 일관성 문제를 "해결"했다고 칭찬했습니다. 저는 개인적으로 이것을 싫어합니다. 다른 사람의 시간에 맞추기 위해 필요한 조치를 취하는 대신 시계를 조작하는 것입니다. 다른 모든 사람들이 이 문제를 대규모로 해결했습니다. Google이 자칭하는 "지구적 규모" 컴퓨팅을 전 세계 모바일 네트워크 사업자가 30년 넘게 수행해 온 작업과 비교해 보면 동기화 문제는 그다지 어렵지 않습니다.