minimum_wage_jp
日本の地域別最低賃金(都道府県別)をシンプルに扱うための Rust クレートです。
- 指定日の最低賃金(円)を取得
- 指定時給が最低賃金を満たすか判定(不足額も算出)
- 年度(改定年)を指定して率を取得
- データ構造は固定(埋め込み)で、適用開始日前は前年データにフォールバック
インストール
Cargo.toml に依存関係を追加します。
[]
= "1"
本リポジトリをそのまま使う場合は、上記のように path 依存を使ってください。
使い方(クイックスタート)
use NaiveDate;
use MinimumWageJp;
// 1 = 北海道, 13 = 東京都, 47 = 沖縄県(1..=47)
let hokkaido: u8 = 1;
// 今日の最低賃金(円)を取得
let rate_today = rate.unwrap;
println!;
// 指定日の最低賃金(円)を取得
let date = from_ymd_opt.unwrap;
let rate = rate_on_date.unwrap;
assert_eq!;
// 満たすか判定(不足額付き)
let result = is_compliant_on_date.unwrap;
match result
API 概要
- MinimumWageJp::rate(pref: u8) -> Result<u16, MinimumWageJpErr>
- ローカル日付(今日)の最低賃金(円)。
- MinimumWageJp::rate_on_date(date: NaiveDate, pref: u8) -> Result<u16, MinimumWageJpErr>
- 指定日の最低賃金(円)。
- ポイント: 都道府県ごとの適用開始日が全国一斉日より遅い場合、適用日前は前年の率に自動フォールバックします。
- MinimumWageJp::rate_for_revision(year: u16, pref: u8) -> Result<u16, MinimumWageJpErr>
- 指定「年版(改定年)」の率。
- MinimumWageJp::is_compliant(pref: u8, hourly_yen: u32) -> Result<MinimumWageJpCompliance, MinimumWageJpErr>
- 今日の時給が満たすかを判定。
- MinimumWageJp::is_compliant_on_date(date: NaiveDate, pref: u8, hourly_yen: u32) -> Result<MinimumWageJpCompliance, MinimumWageJpErr>
- 指定日の時給が満たすかを判定。
エラー型
- MinimumWageJpErr::InvalidPrefCode(u8)
- 都道府県コードが 1..=47 の範囲外。
- MinimumWageJpErr::DatasetNotFoundForDate { date, prev, next }
- まだデータが存在しない日付(最初の年版より前)など。
- prev/next には前後の候補が含まれ、UI での案内に利用できます。
- MinimumWageJpErr::DatasetNotFoundForYear { year }
- 対象年版が存在しない。
都道府県コードについて
- 本クレートでは都道府県コードを u8 の 1..=47 で扱います。
- 1: 北海道
- 13: 東京都
- 47: 沖縄県
- 無効なコードでは InvalidPrefCode エラーを返します。
データセットと仕様
- 現在同梱している年版データ(埋め込み)
- 2024 年版(effective_from: 2024-10-01)
- 2025 年版(effective_from: 2025-10-01)
- 都道府県ごとに実際の適用開始日が異なる場合があります(例: 北海道は 2025-10-04)。
- 仕様(重要)
- 指定日付の属する「直近の年版」を選びます(effective_from が日付以下で最大のもの)。
- ただし、当該都道府県の「適用開始日」がその日付より後なら、前年版の率を用います。
- 最初の年版より前の日付では、Error とともに next 候補(最初の年版)を返します。
日付とタイムゾーン
- today() は chrono::Local を使い、ローカルタイムゾーンの「日付(NaiveDate)」を用います。
- サーバとクライアントでタイムゾーンが異なる場合は、is_compliant_on_date / rate_on_date を推奨します。
テスト
貢献(データ更新)
- 新しい年版の追加や適用開始日の修正は src/dataset.rs を編集して行います。
- 追加の際はテストを併せて更新し、挙動(フォールバック仕様)が満たされることを確認してください。