date
WSL에서 Ubuntu를 실행 하면 다음과 같이 인쇄됩니다.
Wed May 15 19:33:37 STD 2019
STD
이 문자열이 왜 들어있나요? 온라인에서 STD라는 약어가 포함된 시간대를 찾을 수 없습니다(예:여기) 그리고 "date std"를 검색해 보니 예상치 못한 결과가 나왔습니다.
답변1
감사해요Jesse_b이것을 찾으려고스택 오버플로 Q&A:
긴 이야기 짧게WSL은 가상의 이름 을 사용하여 .Msft 파일
/usr/share/zoneinfo/Msft/localtime
에 하드 링크된 가짜 표준 시간대 정보 파일을 동적으로 생성하며 특정 표준 시간대를 나타내지 않습니다./etc/localtime
DST
STD
실제로 WSL은 Linux에서 Windows 표준 시간대를 일치시키려고 시도합니다. 이는 그림에 표시된 것처럼 사소하지 않은 매핑입니다.여기(논의하다). 따라서 움직이는 목표물을 맞추려고 하는 대신 WSL이 하는 일은 다음을 사용하는 것입니다.윈도우 APIWindows 시간대 정보를 가져오고 이 정보를 기반으로 동적으로 생성합니다.시간대 정보 파일.
wslhost
나는 (특히 Windows의 코드C:\Windows\System32\lxss\LxssManager.dll
)가 현재 시간대를 확인하고 이를 파일에 기록한다고 믿습니다/usr/share/zoneinfo/Msft/localtime
. 이것이 바로 Windows에서 시간대가 변경되면 실행 중인 WSL에 즉시 영향을 미치는 이유입니다. 그러나 Windows 시간대에서 Linux 또는 POSIX 시간대로의 완벽한 매핑이 없기wslhost
때문에날개이름, 이것이 DST가 작용하는 곳입니다.고쳐 쓰다:실제로 일광 절약 시간대에 있는 경우에는 "DST"라고 말하고, 일광 절약 시간제가 아닌 시간대에는 "STD"(표준이라고 생각함)라고 말합니다.
따라서 "DST가 나타내는 시간대"에 대한 대답은 "아니요"이며
/etc/localtime
시간대 파일을 일치시키려는 모든 Linux 프로그램/usr/share/zoneinfo
(읽기 링크를 통해 또는 단순히 검색을 통해)은 "Msft/localtime"만을 대답으로 얻습니다. "기술적으로는 정확하지만 전혀 쓸모가 없는" 답변입니다.
Windows 19H1(1903) 업데이트가 2019년 5월에 최종 출시될 예정입니다.결정이 문제와 WSL 배포는 가능한 경우 기존 표준 시간대를 보고합니다.
최종 공개 전까지 새 버전Windows 참가자 프로그램을 통해 이미 사용 가능이므로 영역 태그로 인해 발생하는 활성 문제가 발생하는 경우 이를 해결할 수 있습니다. 활성화하거나 새 시간대를 적용하기 위해 아무 것도 할 필요가 없습니다.