내 시스템에 사용자 정의 연도를 어떻게 표시합니까?

내 시스템에 사용자 정의 연도를 어떻게 표시합니까?

아시다시피 대부분의 국가에서는 전통적으로 기독교와 연결되어 있는 '공통시대'라는 개념을 사용하고 있습니다. 예를 들어 유닉스 에포크 시간은 1970년 1월 1일부터 계산하고 있습니다. 그러나 유닉스 에포크 자체를 기준으로 삼는 경우는 다음과 같습니다. 참고로 이 날짜는 1월 1일, 1일로 표시됩니다. 2020년 1월 1일은 51일 1월 1일로 표시됩니다.

이 사용자 정의 참조 프레임에 따라 현재 연도를 표시하고 필요에 따라 매년 자동으로 변경하도록 시스템을 조정하려면 어떻게 해야 합니까?

답변1

사용자 정의를 구축해야 할 것입니다.로케일 정의era로케일 정의의 LC_TIME 부분에 있는 매개변수와 사용자 정의 이름을 제외하고는 본질적으로 지금까지 일반적으로 사용했던 로케일의 직접적인 복사본입니다 . 연도를 표시하려면 날짜 형식 문자열을 조정해야 할 수도 있습니다. 대체 캘린더로.

다음은 로케일 정의의 표준 구문에 대한 단일 Unix 사양 정의에 대한 링크입니다.https://pubs.opengroup.org/onlinepubs/007908799/xbd/locale.html

localedef그런 다음 명령(또는 Debian/Ubuntu 및 관련 배포판의 래퍼 스크립트)을 사용하여 locale-gen사용자 정의 로케일의 바이너리 표현을 만들고 이를 적절한 위치에 설치합니다. 그런 다음 환경 LC_TIME변수를 설정하기만 하면 됩니다. 시간 값 표시와 관련된 문제에서 사용자 정의 로케일을 사용하려고 시스템에 알리려면 이 변수에 대한 시스템 전체 기본값은 배포에 따라 /etc/default/locale또는 명령을 /etc/sysconfig/i18n사용하여 정의할 수 있습니다.localectl

(이것은 또한 각 천황의 연도를 계산하는 일본 방식이 처리되는 방식이기도 합니다. 2019년 5월 1일에 새로운 천황 나루히토가 즉위하면서 일본 달력에 새로운 연호가 시작되었으므로 2019년이 일본어로 표시됩니다. 레이와 1/헤이세이 31년으로 전통적인 달력. 참고:https://www.ewc.co.jp/Pages/Information/CalendarEN.aspx)

이렇게 하면 시스템이 "공공 시대" 달력에 시간을 표시하는 기능을 유지할 수 있으며 이는 이메일 헤더와 같은 항목에 중요합니다. 예상치 못한 연도 번호가 포함된 이메일을 보내는 것은 발신 이메일에 대한 좋은 필터가 됩니다. 방법은 다른 메일 서버에서 스팸으로 간주됩니다. .

답변2

당신은 할 수 없습니다.

Linux 커널 내의 시간 측정에는 고정된 형식이 있습니다.

그러나 이를 위해 다른 시간 형식을 사용할 수 있습니다. 이는 지역 설정에서 정의됩니다. 따라서 미국 및 국제 표준은 시스템 내부적으로 계속 사용되지만 다른 형식으로 표시됩니다.

시스템 시간을 읽고 이를 다른 형식으로 표시하는 타사 프로그램은 다음과 같습니다.카닷.

관련 정보