2个稳定版本
2.1.0 | 2023年5月29日 |
---|---|
2.0.0 | 2023年5月28日 |
#17 in #iso-8601
34 每月下载量
在 kron 中使用
9KB
113 行
关于
日期/时间库
另请参阅kron
包。
示例
use kron_lib::*;
// Get current timestamp
let now = Kron::now();
// Print it ~ "2023-05-26T13:07:42Z\n"
println!("{now}");
// Get a specific timestamp (0 = UNIX epoch)
let ts = Kron::timestamp(626609862).unwrap();
// Default format (ISO8601)
assert_eq!(format!("{ts}"), "1989-11-09T10:17:42Z");
assert_eq!(ts.to_string(), "1989-11-09T10:17:42Z");
// Format constant
assert_eq!(ts.format(&COMPACT).unwrap(), "19891109-101742Z");
assert_eq!(ts.format(&ISO8601).unwrap(), "1989-11-09T10:17:42Z");
// Create a custom format and use it
let custom_fmt = KronFormat::new(
"[weekday repr:short] [month]/[day]/[year] [hour]:[minute]",
).unwrap();
assert_eq!(ts.format(&custom_fmt).unwrap(), "Thu 11/09/1989 10:17");
// Use a custom format string directly
assert_eq!(
ts.format_str("[hour]:[minute]:[second] [month]/[day]/[year]").unwrap(),
"10:17:42 11/09/1989",
);
// Get the UNIX timestamp in seconds/nanoseconds by accessing the internal
// `time::OffsetDateTime`
assert_eq!(ts.dt.unix_timestamp(), 626609862);
assert_eq!(ts.dt.unix_timestamp_nanos(), 626609862000000000);
格式语法
组件 | 描述 |
---|---|
[day{padding:{zero,space,none}}] |
月份中的日子 |
[hour{padding:{zero,space,none},repr:{12,24}}] |
时钟小时 |
[minute{padding:{zero,space,none}}] |
时钟小时内的分钟 |
[month{padding:{zero,space,none},repr:{numerical,long,short},case_sensitive:{true,false}}] |
月份 |
[offset_hour{padding:{zero,space,none},sign:{automatic,mandatory}}] |
从UTC偏移的整小时 |
[offset_minute{padding:{zero,space,none}] |
从UTC偏移的小时内的分钟 |
[offset_second{padding:{zero,space,none}] |
从UTC偏移的分钟内的秒 |
[ordinal{padding:{zero,space,none}}] |
年份中的日子 |
[period{case:{lower,upper},case_sensitive:{true,false}}] |
AM/PM |
[second{padding:{zero,space,none}}] |
时钟分钟内的秒 |
[subsecond{digits:1+,1,2,3,4,5,6,7,8,9}] |
时钟秒内的次秒 |
[unix_timestamp{precision:{second,millisecond,microsecond,nanosecond},sign:{automatic,mandatory}}] |
Unix时间戳 |
[week_number{padding:{zero,space,none},repr:{iso,sunday,monday}}] |
年份中的周 |
[weekday{repr:{long,short,sunday,monday},one_indexed:{false,true},case_sensitive:{true,false}}] |
周中的日子 |
[year{padding:{zero,space,none},repr:{full,last_two},base:{calendar,iso_week},sign:{automatic,mandatory}}] |
年份 |
有关更多详细信息,请参阅https://time-rs.github.io/book/api/format-description.html。
更新日志
请参阅CHANGELOG.md
中的更新日志。
依赖项
~1MB
~16K SLoC