if week > weeks_in_year(year) { return Err(Error::InvalidComponent {
name: "week",
value: week.to_string(),
span_start: Some(w_span),
span_end: Some(week_span),
});
} if day == 0 || day > 7 { return Err(Error::InvalidComponent {
name: "day",
value: day.to_string(),
span_start: Some(day_span),
span_end: Some(day_span),
});
}
let (year, ordinal) = ywd_to_yo(year, week, day);
return Ok(Date { year, ordinal });
}
// We don't yet know whether it's year-month-day or year-ordinal. let (month_or_ordinal_span, month_or_ordinal) =
consume_number::<u16>("month or ordinal", chars)?;
// year-month-day #[allow(clippy::branches_sharing_code)] // clarity if consume_punct('-', chars).is_ok() { let (month_span, month) = (month_or_ordinal_span, month_or_ordinal); let (day_span, day) = consume_number::<u8>("day", chars)?;
if month == 0 || month > 12 { return Err(Error::InvalidComponent {
name: "month",
value: month.to_string(),
span_start: Some(month_span),
span_end: Some(month_span),
});
} let month = month.truncate(); if day == 0 || day > days_in_year_month(year, month) { return Err(Error::InvalidComponent {
name: "day",
value: day.to_string(),
span_start: Some(day_span),
span_end: Some(day_span),
});
}
let (year, ordinal) = ymd_to_yo(year, month, day);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.