tz-rs
libc関数localtime、gmtime、およびmktimeの純粋なRustによる再実装です。
このクレートは、Unixタイムスタンプと指定されたタイムゾーンで表現された先行グレゴリオ暦のカレンダー時刻間の変換を可能にします。
タイムゾーンは、環境から読み込むことができるPOSIXのTZ文字列でライブラリに提供されます。
TZ文字列には現在、以下の2つの形式が受け入れられています:
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プラットフォームではサポートされていないことに注意してください。
代わりに、tzdb のようなクレートを使用できます。これはこのクレート用に既存のタイムゾーン定義を静的に提供し、すべてのTier 1プラットフォームでローカルタイムゾーンの検出をサポートします。
日時フォーマット(libcのstrftime関数に相当)
このクレートはカスタム日時フォーマットのサポートを提供しませんが、標準ライブラリのフォーマットマクロにカスタムフォーマット指定子を提供するためにcustom-formatクレートを使用できます。
コンパイラサポート
rustc 1.85+が必要です。
ライセンス
本プロジェクトは以下のいずれかのライセンスの下で提供されます。
お好みで選択してください。明示的に別途記載しない限り、Apache-2.0ライセンスの定義に基づき、あなたが本プロジェクトへの組み込みを意図して提出した寄稿は、追加の条件なしに上記二重ライセンスとみなされます。
--- Tranlated By Open Ai Tx | Last indexed: 2026-07-26 ---