#chrono #system-time #基于 #date #weekday #date-time

az-common

通用日期与时间工具集,基于 chrono 提供本地化日期转换、工作日计算与时间范围工具。

1 stable release

Uses new Rust 2024

2026.5.10 May 22, 2026

#309 in Date and time

MIT/Apache

8KB
110 lines

az-common

通用日期与时间工具集,基于 chrono 提供本地化日期转换、工作日计算与时间范围工具。

功能

  • 时间类型转换:在 SystemTimeNaiveDateNaiveDateTime 与本地时间之间互转
  • 中文星期:将 Weekday 映射为中文名称(周一~周日)
  • 月历工具:枚举指定月份的所有日期;补全缺失的月中日期
  • 工作日判断:判断是否为工作日,统计月内工作日总数
  • 时间区间:获取某天的起止时间点,对 SystemTime 增减天数

安装

Cargo.toml 中添加:

[dependencies]
az-common = { path = "../az-common" }       # workspace 内部引用
# 或发布后:
# az-common = "0.1"                          # crates.io 引用

用法

use az_common::{to_local_date, weekday_zh_cn, count_workdays, min_max_of_day};
use chrono::NaiveDate;

// SystemTime → 本地日期
let local_date = to_local_date(system_time);

// 中文星期
assert_eq!(weekday_zh_cn(chrono::Weekday::Mon), "周一");

// 统计 2025 年 5 月的工作日数
let workdays = count_workdays(2025, 5);

// 某天的起止时间
let date = NaiveDate::from_ymd_opt(2025, 5, 10).unwrap();
let (start, end) = min_max_of_day(date);

依赖的 crates

  • chrono - 日期与时间处理库

Dependencies

~0.9–1.1MB
~17K SLoC