본문 바로가기

shell script

[shell script] unixtime 변경 명령어


 간혹 unix time 을 변경하거나, 특정 날자의 unixtime 을 확인해야 할때가 있다.
이리 저리 검색 결과 방법은 무수히 많지만 아래 방법이 가장 간단한거 같다.

date 명령어에 +%s 옵션이 유용할거 같다.

%s 옵션의 설명은 다음과 같다.
%s     1970-01-01 00:00:00 UTC (비표준 확장기능)로 부터 경과된 초

date +%s                                -> 현재 시간을 unixtime 으로 변경 출력
date -d "2011-12-27 00:00" +%s  -> 지정된 2011년 12월 27일 00시 00분 을 unixtime 으로 변경 출력

PS. 근데 unixtime 이 1970-01-01 00:00:00 UTC  로부터 경과된 시간을 말하는게 맞나?
네이버 지식인에서 긁어온 내용

Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight proleptic Coordinated Universal Time (UTC) of January 1, 1970

Unix Time은 즉 협정 세계시인 UTC에 근거하여 1970년 1월 1일부터 경과의 숫자로 정의 포인트를 설명하기위한 시스템이라고 합니다. 협정 세계시가 1972년 1월 1일에 재정되었는데 1972로 잡기에는 계산이 복잡해지니까 2년을 빼고 1970년으로 잡은 듯 합니다.

협정 세계시(協定世界時, UTC)는 1972년 1월 1일부터 시행된 국제 표준시이다. 1967년 국제도량형총회가 정한 세슘 원자의 진동수에 의거한 초의 길이가 그 기준으로 쓰이며, 그 이전에는 지구의 자전에 따른 평균 태양시와 지구의 공전으로 태양년에서 산출한 초의 길이로 쓰였다. 참고로 평균 태양시는 그리니치 평균시와 같다.

'shell script' 카테고리의 다른 글

[bat] mysqldump 를 사용한 백업  (0) 2013.06.14
awk 싱글쿼터  (0) 2012.06.26
[shell] md_recover.sh  (0) 2010.04.28