Как узнать количество дней в месяце в Русте? - PullRequest
0 голосов
/ 09 декабря 2018

Существует ли идиоматический способ Rust для получения количества дней в данном месяце?Я посмотрел на хроно, но я не нашел ничего в документации для этого.

Я ищу что-то, что может выдержать високосные годы, подобные calendar.monthrange в Python или DateTime.DaysInMonth в C #.

1 Ответ

0 голосов
/ 09 декабря 2018

Вы можете использовать NaiveDate::signed_duration_since из chrono ящика :

use chrono::NaiveDate;

fn main() {
    let year = 2018;
    for (m, d) in (1..=12).map(|m| {
        (
            m,
            if m == 12 {
                NaiveDate::from_ymd(year + 1, 1, 1)
            } else {
                NaiveDate::from_ymd(year, m + 1, 1)
            }.signed_duration_since(NaiveDate::from_ymd(year, m, 1))
            .num_days(),
        )
    }) {
        println!("days {} in month {}", d, m);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...