시간대 짜증 없이 날짜와 시간을 처리하는 방법…

소스 노드 : 1658325

날짜, 시간 및 시간대는 골칫거리입니다.

일광 절약 시간 또는 일반적으로 알려진 "서머 타임"은 상황을 더욱 악화시킵니다. 많은 국가에서 정규 근무일과 관련하여 일출과 일몰의 겉보기 시간을 변경하기 위해 일 년에 두 번 시계를 조정하기 때문입니다.

예를 들어 영국에서는 새해가 되면 시계가 그리니치 표준시로 설정되지만 1월 말에 GMT+XNUMX로 앞당겨지고 XNUMX월 말에 다시 GMT로 돌아갑니다.

북미 지역의 대부분은 시계가 XNUMX월 초와 XNUMX월 초로 바뀌는 날짜를 설정하여 매우 유사하지만 짜증나게 다른 일을 합니다. (우리 두 나라는 편리하게 정렬되어 있었지만 금세기 초에 약간 멀어졌습니다.)

따라서 보스턴에 있는 우리 동료들은 매년 가을(또는 가을, 우리가 공통 언어로 계절 이름에 동의할 수조차 없다는 점을 감안할 때, 우리 시계)와 봄이 아닐 때.

일광 절약 시간제를 반대하는 사람들은 이것을 인터넷 시대에 필요하지 않은 무의미한 복잡성으로 일축합니다. 인터넷 시대의 장치가 일반적으로 자동으로 조정되도록 관리한다는 점을 고려할 때 약간 아이러니합니다. 이 시스템의 지지자들은 많은 사람들이 일을 계절에 맞게 변경하는 것이 더 이상 불가능하다는 점에 주목합니다. 왜냐하면 그들의 날은 태양의 일주 위치가 아니라 시계에 의해 결정되기 때문에 계절에 맞게 시계를 이동하기 때문입니다. 가장 간단한 대안입니다.

해로운 것으로 간주되는 DST 교대

실제로, 이번 주 내내 칠레가 관습적인 시계 전환 날짜를 일시적으로 변경하기로 결정했을 때 일광 절약 시간 문제가 제기되었습니다.

최근 개헌 국민투표 당일 혼란을 피하기 위해 임시 변경을 발표했다.

04년 2022월 XNUMX일에 국민 투표가 진행되었는데, 이는 일반적으로 시계가 여름으로 향하는 날이었습니다.

따라서 시계 변경은 토요일 밤에 자기 전에 시계를 재설정하는 것을 잊은 사람들이 일요일에 시간을 잘못 읽게 되어 투표소가 닫힌 후 자신도 깨닫지 못한 채 무고하게 투표소에 도착하지 않도록 XNUMX주일 연기되었습니다. 그들의 시계가 한 시간 늦었기 때문에 한 시간 늦었습니다.

Microsoft조차도 Windows 시계, 운영 체제 시간 기록, 회의 일정 등이 사용자에게 경고할 필요성을 느꼈습니다. 갑자기 던져졌다, 칠레 정부가 지난달까지 이 임시 변경 사항을 발표하지 않았으므로 Windows 표준 시간대 데이터베이스에 대한 마지막 업데이트가 필요합니다.

시계가 잠겨 있다면?

최소한 기존 운영 체제의 사용자는 필요한 경우 스스로 임시 시간대를 조정할 수 있습니다.

일부 장치는 현지 시간을 올바르게 표시하기 위해 전적으로 펌웨어 업데이트에 의존합니다.

예를 들어 여행할 때 나침반과 거리 추적기로 사용하는 소형 자전거 "컴퓨터"가 있습니다(시간, 거리 및 방향)…

...그리고 체질량(분명히 전력 출력을 추측하는 데 사용됨), 지도 설정, 위치 참조 형식, 글꼴 크기 등과 같이 장치에 저장된 모든 종류의 설정을 만지작거릴 수 있지만 한 가지 할 수 없는 것은 날짜와 시간을 수동으로 설정하는 것입니다.

최소한 내장 앱의 경우 이를 수행할 방법이 없으며 모든 것이 디지털 서명된 펌웨어 잠금 버전의 Linux를 실행하기 때문에 직접 조정하거나 해킹할 수도 없습니다.

자신만의 추가 기능 앱을 작성할 수 있고 원하는 대로 날짜와 시간을 표시할 수 있지만 다소 제한된 샌드박스 내부의 전용 가상 머신에서 실행하려면 컴파일해야 합니다.

이론은 장치가 제대로 작동하면 GPS 수신기를 통해 절대 시간을 알고 있으며, 지금까지 만들어진 가장 정밀하고, 가장 크고, 가장 비싸고, 가장 복잡한 기계식 크로노미터보다 훨씬 더 정확한 정확도를 가지고 있다는 것입니다.

또한 10미터 미만의 정확도로 지구상의 위치를 ​​알고 있으므로(기록한 여정을 되돌아보면 어느 차선에 있는지 명확하게 알 수 있습니다. 또는 버스를 추월한 위치를 볼 수 있음) 현재 있는 실제 시간대와 현지 시간도 정확하게 설정합니다.

시간대 경계의 정확한 위치를 표시하는 시간대 데이터베이스와 UTC(디지털 시계의 GMT를 현대적으로 대체)에서 필요한 변위가 최신인 경우 이를 수행할 수 있습니다.

그렇지 않으면 장치가 잘못되면 머리에서 한 시간을 더하거나 빼야 할 수도 있습니다.

또는 일부 지역에서는 30분 시간대를 사용하기 때문에 XNUMX분입니다.

(얼마나 많은 사람들이 정수가 아닌 시간대가 존재한다는 사실을 받아들이기를 거부하고 “모든 법적 시간대는 몇 시간 안에 진행됩니다”, 인도나 남호주에 있는 모든 사람들에게 뉴스가 될 것입니다.)

또는 15분.

(네팔이나 유클라를 방문해보세요.)

일광 절약 시간을 금지하는 것이 도움이 될까요?

일광 절약 시간이 자연의 질서에 어긋난다고 생각하거나 가정에서 수동으로 작동되는 시계를 변경하는 것을 결코 기억할 수 없기 때문에 일광 절약 시간을 좋아하지 않는 사람들은 "서머 타임"을 금지하는 것을 우리 모두에게 확신시킬 것입니다. 이 모든 문제를 깔끔하게 해결해 드립니다.

그러나 그것 컴퓨터 로그를 이해하는 방법의 문제를 해결하지 못할 것입니다., 특히 사이버 보안 위협 대응에서 IT 문제 해결에 사용하는 방법 일이 일어난 순서는 실제로 매우 중요할 수 있습니다.

예를 들어, 로그에 그 당시 처음 악용된 익스플로잇을 기반으로 하여 도둑이 화요일 저녁 03:30에 거의 확실하게 침입했다고 표시되는 경우…

...새 계정 생성 타임스탬프 03:00이 실제로 발생했습니까? 전에 익스플로잇이 발생했거나 나중에?

구성 변경 사항은 공격이 시작된 후 발생했기 때문에 롤백이 필요한 04:00 타임스탬프입니까, 아니면 로그가 다른 시간대에 표시되어 있기 때문에 유지해야 하는 변경 사항입니까?

무엇을해야 하는가?

로그 파일 작성자와 로그 파일 소비자 모두를 돕기 위해 할 수 있는 일이 한 가지 있습니다.

항상 타임스탬프를 UTC로 줄이십시오. (협정 세계시), 따라서 로그 파일에서 시간대를 팩토링하고 항상 간단하고 명확하며 알파벳순으로 정렬 가능한 형식으로 타임스탬프를 기록합니다..

간단히 말해서: 상담, RFC 3339, 에 충실 줄루어 시간 어디에나 있는 타임스탬프.

다음과 같이 보입니다.

  2022-09-08T17:30:00.00000Z

날짜에는 항상 XNUMX자리 연도가 있으므로 밀레니엄 버그를 재발명할 위험이 없습니다.

시간에는 AM과 PM이 필요하지 않습니다(컴퓨터는 24까지 셀 수 있는 것처럼 쉽게 12까지 셀 수 있음). 이는 모호성을 제거합니다.

그리고 그 Z 끝에 표시된 날짜와 시간을 나타냅니다. 시간대 조정이 적용되지 않음, 그래서 어떤 두 줄루어 시간 로그 항목을 직접 비교하여 발생한 순서를 결정할 수 있습니다.

타임스탬프가 명확하면 위협 대응이 훨씬 쉽고 안전하므로 모든 사람에게 이 접근 방식을 권장합니다.


추가 정보
타임스탬프 형식에서 명확성의 중요성


RFC 3339에 대한 몇 가지 가벼운 마음(아직 진정한) 이유

타임 스탬프 :

더보기 노출 된 보안