Как я могу напечатать дату / время из time:: strftime без ведущих нулей?
как я могу напечатать дату / время без ведущих нулей? Например, Jul 5, 9:15.
по словам docs он использует тот же синтаксис, как strftime, однако подавление ведущих нулей
time::strftime("%b %-d, %-I:%M", &time::now()).unwrap()
приводит к ошибке:
нить "запаниковал" называется
Result::unwrap()наErrзначение: InvalidFormatSpecifier (' -')', ../src/libcore/result.rs: 746
Я подозреваю, что Rust не поддерживает расширения glibc, которые предоставьте этот флаг (и несколько других); однако нет синтаксиса для даты/времени без префикса; альтернатива (%l) просто префиксы с пустым пространством, которое одинаково бесполезно.
я мог бы создать строку вручную, но это противоречит цели функции.
1 ответов
просмотр код мы можем подтвердить, что time ящик не поддерживает флаг -. Также обратите внимание, что time клеть на rust-lang-deprecated пользователь, поэтому он устарел.
что сказал, я рекомендую вам использовать chrono обрешеткой. В дополнение к поддержке спецификаторов формата, которые вы хотите, Chrono crate также поддерживает часовые пояса и многое другое.
let now = chrono::UTC::now();
println!("{}", now.format("%b %-d, %-I:%M").to_string());