# Unix 시간은 나쁘고 교체가 필요하다

> Clean Markdown view of GeekNews topic #7898. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=7898](https://news.hada.io/topic?id=7898)
- GeekNews Markdown: [https://news.hada.io/topic/7898.md](https://news.hada.io/topic/7898.md)
- Type: news
- Author: [winterjung](https://news.hada.io/@winterjung)
- Published: 2022-11-26T22:59:35+09:00
- Updated: 2022-11-26T22:59:35+09:00
- Original source: [z.vandillen.dev](https://z.vandillen.dev/2022/11/21/unix-time-bad/)
- Points: 12
- Comments: 4

## Topic Body

* UTC(협정 세계시)가 나쁘다고 말하는 것이 아님  
* 국제 도량형 총회는 2035년 이후 UTC에서 윤초를 폐지함  
* 윤초는 지구 자전과 연관되어 있는데 이는 불규칙하고 예측할 수 없었음  
* UTC 이외에 중요한 시간 표준 중 하나는 TAI(국제 원자시)로 윤초가 없음  
* UTC는 주로 공학용으로 사용하지 않기에 윤초가 있을 수 있지만 Unix 시간은 윤초로 인해 선형적이지 않게 되었고 많은 혼란을 초래함  
  
#### TAI Unix 시간  
  
* 1970년 1월 1일 0시 0분 10초부터 시작하는 TAI Unix 시간은 선형적으로 증가하며 유용한 수학적 속성을 갖지만 인기가 없음  
* Unix 시간과 다르며 상호대체재가 아님  
* Unix 시간에 비해  
  * 선형적이기에 t + 1초, t + 100000000초가 언제인지 매우 쉽게 계산할 수 있음. Unix 시간은 미래의 윤초가 언제 발생할지 모르기에 계산할 수 없고 예측만이 가능함  
  * 두 타임스탬프의 차이를 쉽게 계산할 수 있음  
  * 날짜 혹은 시간을 계산하는건 어려움. 우리는 일반적으로 TAI 시간이 아닌 UTC 시간을 알고싶어 하기에 윤초를 반영해줘야함  
  * 모호하지 않고 유효한 값만 반환함  
  
#### 큰 사고 없이 TAI Unix 시간으로 전환하기  
  
* POSIX 표준에서 시간을 Unix 시간, TAI+C Unix 시간, 레거시 Unix 시간 3개로 나눌 것을 제안  
* 레거시 Unix 시간은 특정 시점 이전엔 기존의 Unix 시간을, 이후부턴 TAI+C Unix 시간을 반환  
* 윤초는 온라인 리소스에 의존하므로 윤초가 폐지될 2035년에 맞춰 전환하는게 합리적

## Comments



### Comment 13552

- Author: galadbran
- Created: 2022-12-01T20:04:10+09:00
- Points: 2

좀 더 자세히 읽어봐야겠다는 생각이 들어 얼렁뚱땅 번역을 해 봤습니다!   
  
https://weblog2.wafe.kr/posts/translation-unix-time-bad/

### Comment 13472

- Author: galadbran
- Created: 2022-11-26T23:50:19+09:00
- Points: 1

유닉스 시간이라는 게 그냥 흔히 쓰는 unix timestamp 를 말하는거겠죠?   
그냥 늘 쓰는거라 아무생각 없었는데 그러면 리눅스 같은 os 들이 지난 윤초를 반영해서 타임스탬프를 준다는 말이겠네요? 엄청난 일이었네요...

### Comment 13473

- Author: tribela
- Created: 2022-11-27T00:40:33+09:00
- Points: 2
- Parent comment: 13472
- Depth: 1

그 반대입니다. 윤초는 현실의 1초를 없었던 시간으로 만드는 것에 가깝기 때문에 UTC로 맞춰진 OS는 그냥 타임스탬프를 가지고 계산하면 유닉스타임이 나오고 반대로 있었던 윤초를 더해줘야 TAI 값이 나옵니다

### Comment 13471

- Author: winterjung
- Created: 2022-11-26T23:00:34+09:00
- Points: 2

* https://news.hada.io/topic?id=7847  
* https://news.hada.io/topic?id=7046  
* https://news.ycombinator.com/item?id=33716613 해커뉴스에 올라온 본 글의 코멘트들도 읽어볼만 합니다.
