pub struct Gregorian;
Expand description
The Gregorian Calendar
The Gregorian calendar is a solar calendar used by most of the world, with twelve months.
This type can be used with Date
or DateTime
to represent dates in this calendar.
Era codes
This calendar supports two era codes: "bce"
, and "ce"
, corresponding to the BCE and CE eras
Trait Implementations§
source§impl Calendar for Gregorian
impl Calendar for Gregorian
source§fn year(&self, date: &<Gregorian as Calendar>::DateInner) -> FormattableYear
fn year(&self, date: &<Gregorian as Calendar>::DateInner) -> FormattableYear
The calendar-specific year represented by date
source§fn month(&self, date: &<Gregorian as Calendar>::DateInner) -> FormattableMonth
fn month(&self, date: &<Gregorian as Calendar>::DateInner) -> FormattableMonth
The calendar-specific month represented by date
source§fn day_of_month(&self, date: &<Gregorian as Calendar>::DateInner) -> DayOfMonth
fn day_of_month(&self, date: &<Gregorian as Calendar>::DateInner) -> DayOfMonth
The calendar-specific day-of-month represented by date
source§fn day_of_year_info(
&self,
date: &<Gregorian as Calendar>::DateInner
) -> DayOfYearInfo
fn day_of_year_info( &self, date: &<Gregorian as Calendar>::DateInner ) -> DayOfYearInfo
Information of the day of the year
§type DateInner = GregorianDateInner
type DateInner = GregorianDateInner
The internal type used to represent dates
source§fn date_from_codes(
&self,
era: Era,
year: i32,
month_code: MonthCode,
day: u8
) -> Result<<Gregorian as Calendar>::DateInner, CalendarError>
fn date_from_codes( &self, era: Era, year: i32, month_code: MonthCode, day: u8 ) -> Result<<Gregorian as Calendar>::DateInner, CalendarError>
Construct a date from era/month codes and fields
source§fn date_from_iso(&self, iso: Date<Iso>) -> GregorianDateInner
fn date_from_iso(&self, iso: Date<Iso>) -> GregorianDateInner
Construct the date from an ISO date
source§fn date_to_iso(&self, date: &<Gregorian as Calendar>::DateInner) -> Date<Iso>
fn date_to_iso(&self, date: &<Gregorian as Calendar>::DateInner) -> Date<Iso>
Obtain an ISO date from this date
source§fn months_in_year(&self, date: &<Gregorian as Calendar>::DateInner) -> u8
fn months_in_year(&self, date: &<Gregorian as Calendar>::DateInner) -> u8
Count the number of months in a given year, specified by providing a date
from that year
source§fn days_in_year(&self, date: &<Gregorian as Calendar>::DateInner) -> u32
fn days_in_year(&self, date: &<Gregorian as Calendar>::DateInner) -> u32
Count the number of days in a given year, specified by providing a date
from that year
source§fn days_in_month(&self, date: &<Gregorian as Calendar>::DateInner) -> u8
fn days_in_month(&self, date: &<Gregorian as Calendar>::DateInner) -> u8
Count the number of days in a given month, specified by providing a date
from that year/month
source§fn debug_name(&self) -> &'static str
fn debug_name(&self) -> &'static str
Obtain a name for the calendar for debug printing
source§fn any_calendar_kind(&self) -> Option<AnyCalendarKind>
fn any_calendar_kind(&self) -> Option<AnyCalendarKind>
The
AnyCalendarKind
corresponding to this calendar,
if one exists. Implementors outside of icu_calendar should return Nonesource§fn day_of_week(&self, date: &Self::DateInner) -> IsoWeekday
fn day_of_week(&self, date: &Self::DateInner) -> IsoWeekday
Calculate the day of the week and return it
source§impl CldrCalendar for Gregorian
impl CldrCalendar for Gregorian
source§const DEFAULT_BCP_47_IDENTIFIER: Value = {
const R: ::icu_locid::extensions::unicode::Value =
::icu_locid::extensions::unicode::Value::from_tinystr(match ::icu_locid::extensions::unicode::Value::subtag_from_bytes("gregory".as_bytes())
{
Ok(r) => r,
_ =>
::core::panicking::panic_fmt(<#[lang = "format_arguments"]>::new_const(&["Invalid Unicode extension value: gregory"])),
});
R
}
const DEFAULT_BCP_47_IDENTIFIER: Value = { const R: ::icu_locid::extensions::unicode::Value = ::icu_locid::extensions::unicode::Value::from_tinystr(match ::icu_locid::extensions::unicode::Value::subtag_from_bytes("gregory".as_bytes()) { Ok(r) => r, _ => ::core::panicking::panic_fmt(<#[lang = "format_arguments"]>::new_const(&["Invalid Unicode extension value: gregory"])), }); R }
The Unicode BCP 47 identifier for the calendar
If multiple BCP 47 identifiers work, this should be
the default one when no others are provided
§type DateSymbolsV1Marker = GregorianDateSymbolsV1Marker
type DateSymbolsV1Marker = GregorianDateSymbolsV1Marker
The data marker for loading symbols for this calendar.
§type DateLengthsV1Marker = GregorianDateLengthsV1Marker
type DateLengthsV1Marker = GregorianDateLengthsV1Marker
The data marker for loading length-patterns for this calendar.
source§impl IntoAnyCalendar for Gregorian
impl IntoAnyCalendar for Gregorian
source§fn to_any(self) -> AnyCalendar
fn to_any(self) -> AnyCalendar
Convert this calendar into an
AnyCalendar
, moving it Read moresource§fn to_any_cloned(&self) -> AnyCalendar
fn to_any_cloned(&self) -> AnyCalendar
Convert this calendar into an
AnyCalendar
, cloning it Read moresource§fn date_to_any(&self, d: &<Gregorian as Calendar>::DateInner) -> AnyDateInner
fn date_to_any(&self, d: &<Gregorian as Calendar>::DateInner) -> AnyDateInner
Convert a date for this calendar into an
AnyDateInner
Read more