tz-rs
libc 함수 localtime, gmtime 및 mktime의 순수 Rust 재구현체입니다.
이 크레이트는 제공된 시간대를 사용하여 Unix 타임스탬프와 선행 그레고리력으로 표현된 달력 시간 간 변환을 허용합니다.
시간대는 환경 변수에서 읽을 수 있는 POSIX TZ 문자열로 라이브러리에 제공됩니다.
현재 TZ 문자열에 대해 두 가지 형식이 허용됩니다:
- 시간대 설명을 제공하는
std offset[dst[offset][,start[/time],end[/time]]], - 절대 경로나 시스템 시간대 디렉터리에 상대적인 TZif 파일의 경로를 제공하는
file또는:file.
TZ 환경 변수에 대한 glibc 문서를 참조하세요.컨텍스트
Rust에서 libc localtime_r 및 관련 함수 호출은 내부적으로 setenv 함수를 사용해 TZ 환경 변수를 설정할 수 있어, 이 함수가 스레드 안전하지 않기 때문에 다중 스레드 애플리케이션에서는 안전하지 않습니다.
자세한 내용은 RUSTSEC-2020-0071 및 RUSTSEC-2020-0159를 참조하세요.
문서
문서는 docs.rs에서 호스팅됩니다.
플랫폼 지원
이 크레이트는 주로 UNIX 플랫폼을 대상으로 합니다.
시간대 데이터베이스 파일이 이 크레이트에 포함되어 있지 않으므로, 비 UNIX 사용자는 IANA 사이트에서 데이터베이스 사본을 다운로드하고 시간대 데이터베이스 파일을 로컬 디렉터리에 컴파일할 수 있습니다.
그런 다음 TZ 문자열에 절대 경로를 지정하여 데이터베이스 파일을 읽을 수 있습니다:
TimeZone::from_posix_tz(format!("{local_database_dir}/usr/share/zoneinfo/Pacific/Auckland"))?;이 크레이트를 사용한 로컬 시간대 결정은 비-UNIX 플랫폼에서 지원되지 않는다는 점에 유의하세요.
대안으로, 이 크레이트에 기존 시간대 정의를 정적으로 제공하고 모든 Tier 1 플랫폼에서 로컬 시간대를 찾는 것을 지원하는 tzdb와 같은 크레이트를 사용할 수 있습니다.
날짜 및 시간 형식 지정 (libc strftime 함수와 동일)
이 크레이트는 사용자 지정 날짜 및 시간 형식 지정을 제공하지 않지만, 표준 라이브러리 형식 지정 매크로에 사용자 지정 형식 지정자를 제공하기 위해 custom-format 크레이트를 사용할 수 있습니다.
컴파일러 지원
rustc 1.85+가 필요합니다.
라이선스
이 프로젝트는 다음 중 하나의 라이선스 하에 배포됩니다.
사용자 선택에 따릅니다.명시적으로 달리 명시하지 않는 한, Apache-2.0 라이선스에 정의된 대로 이 프로젝트에 포함하기 위해 사용자가 의도적으로 제출한 모든 기여는 위 두 가지 라이선스로 이중 라이선스되며 추가 조건이나 조항이 없습니다.
--- Tranlated By Open Ai Tx | Last indexed: 2026-07-26 ---