在 Rust 中使用 chrono 解析日期时间时如何始终显示毫秒?
How to always show milliseconds when parsing datetime with chrono in rust?
我正在尝试像这样格式化 chrono::NaiveDate
:%Y-%m-%dT%H:%M:%S%.f
根据 documentation 中的第三个示例,我希望它能像这样工作:
use chrono::NaiveDate;
fn main() {
let date = NaiveDate::from_ymd(2015, 7, 1).and_hms_milli(0, 0, 0, 0);
println!("{}", date.format("%Y-%m-%dT%H:%M:%S%.f"));
}
然而,这打印了 2015-07-01T00:00:00
.
而不是所需的输出 2015-07-01T00:00:00.000
显然,如果毫秒不为零,则只包含毫秒数:
use chrono::NaiveDate;
fn main() {
let date = NaiveDate::from_ymd(2015, 7, 1).and_hms_milli(0, 0, 0, 1);
println!("{}", date.format("%Y-%m-%dT%H:%M:%S%.f"));
}
是否有始终包含它们的选项?
您可以使用 .3f
as the last specifier。这类似于.%f
但左对齐但固定为3
的长度
println!("{}", date.format("%Y-%m-%dT%H:%M:%S%.3f"));
我正在尝试像这样格式化 chrono::NaiveDate
:%Y-%m-%dT%H:%M:%S%.f
根据 documentation 中的第三个示例,我希望它能像这样工作:
use chrono::NaiveDate;
fn main() {
let date = NaiveDate::from_ymd(2015, 7, 1).and_hms_milli(0, 0, 0, 0);
println!("{}", date.format("%Y-%m-%dT%H:%M:%S%.f"));
}
然而,这打印了 2015-07-01T00:00:00
.
2015-07-01T00:00:00.000
显然,如果毫秒不为零,则只包含毫秒数:
use chrono::NaiveDate;
fn main() {
let date = NaiveDate::from_ymd(2015, 7, 1).and_hms_milli(0, 0, 0, 1);
println!("{}", date.format("%Y-%m-%dT%H:%M:%S%.f"));
}
是否有始终包含它们的选项?
您可以使用 .3f
as the last specifier。这类似于.%f
但左对齐但固定为3
println!("{}", date.format("%Y-%m-%dT%H:%M:%S%.3f"));