내 질문은 일광 절약 시간제(DST)와 Linux에서 다음 동작이 정상적인지 여부에 관한 것입니다. TZ
시간대를 지정하기 위해 POSIX 변수를 사용합니다 .
다음의 예시를 사용하세요.이것매뉴얼 페이지에서 TZ 변수를 다음과 같이 설정했습니다.
export TZ="NZST-12:00:00NZDT-13:00:00,M10.1.0,M3.3.0"
이 환경 변수를 설정한 후 이를 사용하여 date
시간을 설정한 다음 일광 절약 시간제에 맞춰 시계가 똑딱거리는 것을 볼 수 있습니다. 그것은 훌륭하게 작동했습니다(이름이 로 변경되어 NZST
한 NZDT
시간의 수면을 "잃었습니다").
Sun Oct 4 01:59:57 NZST 2015
Sun Oct 4 01:59:58 NZST 2015
Sun Oct 4 01:59:59 NZST 2015
Sun Oct 4 01:59:59 NZST 2015
Sun Oct 4 03:00:00 NZDT 2015
Sun Oct 4 03:00:01 NZDT 2015
하지만 일광 절약 시간이 끝나기 전에 설정하면 date
이상한 동작이 발생합니다. 예를 들어, 다음과 같이 시간을 설정하면:
date --set="20 MAR 2016 0:59:50"
Sun Mar 20 00:59:50 NZDT 2016
여전히 괜찮지만 시계를 조금 앞당기면 1:00:50
(오전 1시 직후로) 문제가 발생합니다.
date --set="20 MAR 2016 1:00:50"
Sun Mar 20 01:00:50 NZST 2016
우리는 뛰어내렸다 가 너무 빨리 NZDT
다시 들어왔습니다 . NZST
하지만 시스템을 다시 설정하고 0:59:50
(인내심을 갖고) 기다리면 너무 일찍 튀어나오지 않고 NZDT
적절한 시간에 롤백됩니다.NZST
이것이 정상적인 시스템 동작입니까?
답변1
문제는 변환을 처리하는 방법에 있는 것이 아니라 명령에 지정된 타이밍이 date --set="20 MAR 2016 1:00:50"
불분명하다고 생각합니다.
즉, 이 시간은 일광 절약 시간이 끝나기 전에 처음으로 두 번 발생하고 시계가 한 시간 뒤로 이동할 때 발생합니다. 불행히도 발생해야 하는 시간을 지정하는 방법을 잘 모르겠습니다. 명확성을 위해 시간대를 포함할 수 있습니까?