3 个版本
0.1.4 | 2020年6月26日 |
---|---|
0.1.3 | 2020年6月25日 |
0.1.2 | 2020年6月25日 |
0.1.1 |
|
0.1.0 |
|
#334 in 日期和时间
每月 25 次下载
37KB
568 行
JPHoliday
获取日本公共假期的库
用法
在 Cargo.toml
中添加
[dependencies]
jpholiday = "0.1"
示例代码
获取指定日期的节假日名称
use jpholiday::jpholiday::JPHoliday;
use jpholiday::chrono::{NaiveDate};
use std::borrow::Borrow;
let jpholiday = JPHoliday::new();
assert_eq!(
jpholiday.is_holiday_name(NaiveDate::from_ymd(2017, 1, 1).borrow()).unwrap(),
"元日".to_string()
);
assert_eq!(
jpholiday.is_holiday_name(NaiveDate::from_ymd(2017, 1, 2).borrow()).unwrap(),
"元日 振替休日".to_string()
);
assert_eq!(
jpholiday.is_holiday_name(NaiveDate::from_ymd(2017, 1, 3).borrow()),
None
);
判断指定日是否为节假日
use jpholiday::jpholiday::JPHoliday;
use jpholiday::chrono::{NaiveDate};
use std::borrow::Borrow;
let jpholiday = JPHoliday::new();
assert_eq!(
jpholiday.is_holiday(NaiveDate::from_ymd(2017, 1, 1).borrow()),
true
);
assert_eq!(
jpholiday.is_holiday(NaiveDate::from_ymd(2017, 1, 2).borrow()),
true
);
assert_eq!(
jpholiday.is_holiday(NaiveDate::from_ymd(2017, 1, 3).borrow()),
false
);
获取指定年的节假日
use jpholiday::jpholiday::JPHoliday;
use jpholiday::chrono::{NaiveDate};
use std::borrow::Borrow;
let jpholiday = JPHoliday::new();
assert_eq!(
jpholiday.year_holidays(2017),
vec![
(NaiveDate::from_ymd(2017, 1, 1), "元日".to_string()),
(NaiveDate::from_ymd(2017, 1, 2), "元日 振替休日".to_string()),
(NaiveDate::from_ymd(2017, 1, 9), "成人の日".to_string()),
(NaiveDate::from_ymd(2017, 2, 11), "建国記念の日".to_string()),
(NaiveDate::from_ymd(2017, 3, 20), "春分の日".to_string()),
(NaiveDate::from_ymd(2017, 4, 29), "昭和の日".to_string()),
(NaiveDate::from_ymd(2017, 5, 3), "憲法記念日".to_string()),
(NaiveDate::from_ymd(2017, 5, 4), "みどりの日".to_string()),
(NaiveDate::from_ymd(2017, 5, 5), "こどもの日".to_string()),
(NaiveDate::from_ymd(2017, 7, 17), "海の日".to_string()),
(NaiveDate::from_ymd(2017, 8, 11), "山の日".to_string()),
(NaiveDate::from_ymd(2017, 9, 18), "敬老の日".to_string()),
(NaiveDate::from_ymd(2017, 9, 23), "秋分の日".to_string()),
(NaiveDate::from_ymd(2017, 10, 9), "体育の日".to_string()),
(NaiveDate::from_ymd(2017, 11, 3), "文化の日".to_string()),
(NaiveDate::from_ymd(2017, 11, 23), "勤労感謝の日".to_string()),
(NaiveDate::from_ymd(2017, 12, 23), "天皇誕生日".to_string())
]
);
获取指定月的节假日
use jpholiday::jpholiday::JPHoliday;
use jpholiday::chrono::{NaiveDate};
use std::borrow::Borrow;
let jpholiday = JPHoliday::new();
assert_eq!(
jpholiday.month_holidays(2017, 5),
vec![
(NaiveDate::from_ymd(2017, 5, 3), "憲法記念日".to_string()),
(NaiveDate::from_ymd(2017, 5, 4), "みどりの日".to_string()),
(NaiveDate::from_ymd(2017, 5, 5), "こどもの日".to_string())
]
);
获取指定范围内的节假日
use jpholiday::jpholiday::JPHoliday;
use jpholiday::chrono::{NaiveDate};
use std::borrow::Borrow;
let jpholiday = JPHoliday::new();
assert_eq!(
jpholiday.between(NaiveDate::from_ymd(2017, 1, 1).borrow(), NaiveDate::from_ymd(2017, 5, 3).borrow()),
vec![
(NaiveDate::from_ymd(2017, 1, 1), "元日".to_string()),
(NaiveDate::from_ymd(2017, 1, 2), "元日 振替休日".to_string()),
(NaiveDate::from_ymd(2017, 1, 9), "成人の日".to_string()),
(NaiveDate::from_ymd(2017, 2, 11), "建国記念の日".to_string()),
(NaiveDate::from_ymd(2017, 3, 20), "春分の日".to_string()),
(NaiveDate::from_ymd(2017, 4, 29), "昭和の日".to_string()),
(NaiveDate::from_ymd(2017, 5, 3), "憲法記念日".to_string())
]
);
依赖项
~1–1.5MB
~26K SLoC