rust 如何从time::strftime打印没有前导零的日期/时间?

fhg3lkii  于 2023-08-05  发布在  其他
关注(0)|答案(1)|浏览(148)

如何打印没有前导零的日期/时间?例如,Jul 5, 9:15
根据docs,它使用与strftime相同的语法,但是会抑制前导零

time::strftime("%b %-d, %-I:%M", &time::now()).unwrap()

字符串
导致错误:
线程“”在Err值上调用Result::unwrap()时死机:InvalidFormatSpecifier('-')',../src/libcore/result.rs:746
我怀疑Rust不支持提供这个标志(以及其他几个)的glibc扩展;然而,没有用于非前缀日期/时间的语法;备选方案(%l)只是加上同样无用的空格作为前缀。
我可以手动创建字符串,但这违背了函数的目的。

uqdfh47h

uqdfh47h1#

查看代码,我们可以确认time crate不支持-标志。
也就是说,我建议您使用chrono crate。除了支持您想要的格式说明符之外,chrono crate还支持时区等等。

let now = chrono::Utc::now();
println!("{}", now.format("%b %-d, %-I:%M").to_string());

字符串

相关问题