타임스탬프를 기준으로 시스템 시간대 설정

타임스탬프를 기준으로 시스템 시간대 설정

다음과 같은 문자열(Javascript의 출력)을 기반으로 시스템 날짜와 시간대를 설정하고 싶습니다 new Date().toString().

Fri Aug 01 2014 12:13:27 GMT+0200 (CEST)

데비안 시스템에서 시간대를 설정하는 표준 방법은 tzselect영역 파일을 실행하거나 심볼릭 링크하는 것입니다. 두 경우 모두 대륙/도시별 시간대를 알아야 합니다./usr/share/zoneinfo/etc/localtime

GMT 오프셋만을 기준으로 시간대를 설정하는 쉬운 방법이 있습니까?

답변1

일반적으로 해당 날짜 문자열에는 해당 날짜가 생성된 시간대를 알 수 있는 정보가 충분하지 않습니다. +0200문제가 있음을 알려주는 유일한 시간대는 다음과 같습니다.지금UTC보다 2시간 빠릅니다. 실제 시간대를 아는 것처럼 오프셋이 일년 내내 또는 해마다 변경되는지 여부는 알려주지 않습니다. 해당 부분에 관해서는 CEST이러한 짧은 시간대 이름은 고유하지 않습니다(여러 시간대는 모두 자체적으로 이라고 부를 수 있음 CEST).

귀하의 의견에서 지적했듯이 문자열을 사용하여 Etc/*항상 UTC로부터 고정 오프셋을 유지하는 시간대 중 하나를 추측할 수 있지만 그게 전부입니다. 또한 Etc/*네팔의 +0545와 같이 가능한 모든 오프셋이 시간대 형태로 존재하는 것은 아닙니다.

특정 애플리케이션만 대상으로 해야 한다고 주석에 명시하셨으므로 현재 프로세스(애플리케이션 프로세스)에 대해서만 시간대를 변경하는 데 관심이 있을 수도 있습니다.TZ 환경 변수 사용? 이를 사용하면 시간대 라인을 설정할 수 있습니다.

TZ=CEST-2

인용한 날짜 문자열에는 이를 수행하는 데 필요한 모든 것이 포함되어 있습니다. (오프셋의 반대 기호에 유의하십시오.)

관련 정보