6个版本 (重大变更)

0.11.0 2023年10月19日
0.5.1 2023年12月4日
0.4.0 2023年10月20日
0.3.0 2023年10月20日
0.1.0 2023年10月19日

#79 in 日期和时间

Download history 1403/week @ 2024-04-23 1060/week @ 2024-04-30 1079/week @ 2024-05-07 909/week @ 2024-05-14 1248/week @ 2024-05-21 951/week @ 2024-05-28 920/week @ 2024-06-04 1134/week @ 2024-06-11 1000/week @ 2024-06-18 1852/week @ 2024-06-25 916/week @ 2024-07-02 1835/week @ 2024-07-09 1345/week @ 2024-07-16 956/week @ 2024-07-23 791/week @ 2024-07-30 1175/week @ 2024-08-06

4,571 每月下载量
3 个Crates中使用 (通过 readable)

MIT 协议

135KB
1.5K SLoC

nichi

CI crates.io docs.rs

日期库。

PartialEq

use nichi::*;

// PartialEq.
let date1 = Date::new(2000, 12, 25);
let date2 = Date::new_typed(
	Year(2000),
	Month::December,
	Day::TwentyFifth,
);

assert_eq!(date1, date2);

星期计算

use nichi::*;

// Christmas in 2000 was on a Monday.
assert_eq!(Date::new(2000, 12, 25).weekday(), Weekday::Monday);

Unix计算

# use nichi::*;
let date = Date::new(2023, 10, 20);
assert_eq!(date.as_unix(), 1697760000);
assert_eq!(date, Date::from_unix(date.as_unix()));

字符串解析

use nichi::*;

assert_eq!(Day::from_str("1st").unwrap(),   Day::First);
assert_eq!(Day::from_str("first").unwrap(), Day::First);
assert_eq!(Day::from_str("FIRST").unwrap(), Day::First);
assert_eq!(Day::from_str("10TH").unwrap(),  Day::Tenth);
assert_eq!(Day::from_str("tenth").unwrap(), Day::Tenth);
assert_eq!(Day::from_str("Tenth").unwrap(), Day::Tenth);

assert_eq!(Weekday::from_str("Tuesday").unwrap(),   Weekday::Tuesday);
assert_eq!(Weekday::from_str("wed").unwrap(),       Weekday::Wednesday);
assert_eq!(Weekday::from_str("WEDNESDAY").unwrap(), Weekday::Wednesday);
assert_eq!(Weekday::from_str("Wednesday").unwrap(), Weekday::Wednesday);
assert_eq!(Weekday::from_str("THURS").unwrap(),     Weekday::Thursday);
assert_eq!(Weekday::from_str("thurs").unwrap(),     Weekday::Thursday);
assert_eq!(Weekday::from_str("THUR").unwrap(),      Weekday::Thursday);
assert_eq!(Weekday::from_str("thursday").unwrap(),  Weekday::Thursday);

assert_eq!(Month::from_str("January").unwrap(),   Month::January);
assert_eq!(Month::from_str("February").unwrap(),  Month::February);
assert_eq!(Month::from_str("FEBRUARY").unwrap(),  Month::February);
assert_eq!(Month::from_str("JUN").unwrap(),       Month::June);
assert_eq!(Month::from_str("July").unwrap(),      Month::July);
assert_eq!(Month::from_str("Jul").unwrap(),       Month::July);
assert_eq!(Month::from_str("NOVEMBER").unwrap(),  Month::November);
assert_eq!(Month::from_str("nov").unwrap(),       Month::November);
assert_eq!(Month::from_str("DEC").unwrap(),       Month::December);

依赖

~2.9–4.5MB
~83K SLoC