2016-08-29 4 views
1

나는 유닉스 시간의 이해에 격차가있다. 유닉스 시간은 1970 년 1 월 1 일에 측정되기 시작했지만 시간대는? 1969 년 12 월 31 일 오후 11시. 런던 (-3600 유닉스 시간) 시드니에서 그들은 같은 시간에 오전 8시 (1970 년 1 월 28 일 유닉스 시간)를 보냈습니다. 제 질문은 언제 유닉스 시간 계산을 시작 했습니까? 1970 년 1 월 1 일 어떤 시간대?유닉스 시간의 불확실성

감사합니다.

+0

"부모"표준 시간대로 UTC를 사용하고있는 것 같습니다. 유닉스 시간은 "시작"1970 년 1 월 1 일은 아니 었습니다 - 사실은 오늘도 불가능합니다 ;-) – DBX12

답변

1

"유닉스 시간"은 항상 UTC이어야합니다. 본 형태에 적용될 때

UTC의 부호화 유닉스 시간의 정확한 정의는 단지 논쟁의 여지가있다 :

위키는 https://en.wikipedia.org/wiki/Unix_time#UTC_basis 객실 주변 일부 추가 말씨를 가지고 UTC. 다행히도 유닉스 신기원이 UTC 형태의 시작에 선행한다는 사실은이 시대의 사용에 영향을 미치지 않습니다. 1 월 1 일 1970 년 (유닉스 시대)부터 1972 년 1 월 1 일 (UTC)은 질문에 없으며, 일 수는 Unix 시간에 중요한 모든 것입니다.

+0

ziesemer 감사합니다! – Vojta

+0

추가 질문, 'echo time();' 그것은 나의 시간대를 고려할 것입니다. 내가 뉴욕에있는 친구 (다른 시간대)를 가지고 있고 그가 나 자신의 시간을 오전 8 시로 바꾸기를 원한다고합시다. (date_default_timezone_set ("America/New_York") '그리고 나서'time() '? – Vojta

+0

'date_default_timezone_set'에 의해 판단 해 보면, PHP로 작업하는 것처럼 들리 겠지만 - ('echo time();'이 bash 프롬프트에서는 유효하지 않다고 말했을 것입니다.) PHP "time"은 "Unix time"이지만,'date + % s'는 현재'1472564389'를 리턴합니다. - 이것은 '2016-08-30 13:39:49 UTC'로 변환됩니다. 전 세계 여러 서버에서이 옵션을 실행하면 시간대 설정에 관계없이 동일한 값을 반환합니다. 유닉스 시간은 독립적입니다. 시간대 설정 - 뉴욕 또는 다른 시간대로 설정하면 변경되지 않습니다. – ziesemer