pub struct Roc;
Expand description
The Republic of China (ROC) Calendar
The Republic of China calendar is a solar calendar used in Taiwan and Penghu, as well as by overseas diaspora from
those locations. Months and days are identical to the Gregorian
calendar, while years are counted
with 1912, the year of the establishment of the Republic of China, as year 1 of the ROC/Minguo/民国/民國 era.
The Republic of China calendar should not be confused with the Chinese traditional lunar calendar
(see Chinese
).
§Era codes
This calendar supports two era codes: "roc"
, corresponding to years in the 民國 (minguo) era (CE year 1912 and
after), and "roc-inverse"
, corresponding to years before the 民國 (minguo) era (CE year 1911 and before).
§Month codes
This calendar supports 12 solar month codes ("M01" - "M12"
)
Trait Implementations§
source§impl Calendar for Roc
impl Calendar for Roc
source§type DateInner = RocDateInner
type DateInner = RocDateInner
The internal type used to represent dates
source§fn date_from_codes(
&self,
era: Option<Era>,
year: i32,
month_code: MonthCode,
day: u8,
) -> Result<<Roc as Calendar>::DateInner, DateError>
fn date_from_codes( &self, era: Option<Era>, year: i32, month_code: MonthCode, day: u8, ) -> Result<<Roc as Calendar>::DateInner, DateError>
Construct a date from era/month codes and fields Read more
source§fn date_from_iso(&self, iso: Date<Iso>) -> <Roc as Calendar>::DateInner
fn date_from_iso(&self, iso: Date<Iso>) -> <Roc as Calendar>::DateInner
Construct the date from an ISO date
source§fn date_to_iso(&self, date: &<Roc as Calendar>::DateInner) -> Date<Iso>
fn date_to_iso(&self, date: &<Roc as Calendar>::DateInner) -> Date<Iso>
Obtain an ISO date from this date
source§fn months_in_year(&self, date: &<Roc as Calendar>::DateInner) -> u8
fn months_in_year(&self, date: &<Roc 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: &<Roc as Calendar>::DateInner) -> u16
fn days_in_year(&self, date: &<Roc as Calendar>::DateInner) -> u16
Count the number of days in a given year, specified by providing a date
from that year
source§fn days_in_month(&self, date: &<Roc as Calendar>::DateInner) -> u8
fn days_in_month(&self, date: &<Roc 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 is_in_leap_year(&self, date: &<Roc as Calendar>::DateInner) -> bool
fn is_in_leap_year(&self, date: &<Roc as Calendar>::DateInner) -> bool
Calculate if a date is in a leap year
source§fn month(&self, date: &<Roc as Calendar>::DateInner) -> MonthInfo
fn month(&self, date: &<Roc as Calendar>::DateInner) -> MonthInfo
The calendar-specific month represented by
date
source§fn day_of_month(&self, date: &<Roc as Calendar>::DateInner) -> DayOfMonth
fn day_of_month(&self, date: &<Roc as Calendar>::DateInner) -> DayOfMonth
The calendar-specific day-of-month represented by
date
source§fn day_of_year_info(&self, date: &<Roc as Calendar>::DateInner) -> DayOfYearInfo
fn day_of_year_info(&self, date: &<Roc as Calendar>::DateInner) -> DayOfYearInfo
Information of the day of the year
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 None
source§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 Roc
impl CldrCalendar for Roc
source§type YearNamesV1Marker = RocYearNamesV1Marker
type YearNamesV1Marker = RocYearNamesV1Marker
The data marker for loading year symbols for this calendar.
source§type MonthNamesV1Marker = RocMonthNamesV1Marker
type MonthNamesV1Marker = RocMonthNamesV1Marker
The data marker for loading month symbols for this calendar.
source§type SkeletaV1Marker = RocDateNeoSkeletonPatternsV1Marker
type SkeletaV1Marker = RocDateNeoSkeletonPatternsV1Marker
The data marker for loading skeleton patterns for this calendar.
source§impl From<Roc> for AnyCalendar
impl From<Roc> for AnyCalendar
source§fn from(value: Roc) -> AnyCalendar
fn from(value: Roc) -> AnyCalendar
Converts to this type from the input type.
source§impl IntoAnyCalendar for Roc
impl IntoAnyCalendar for Roc
source§fn to_any(self) -> AnyCalendar
fn to_any(self) -> AnyCalendar
Convert this calendar into an
AnyCalendar
, moving it Read moresource§fn kind(&self) -> AnyCalendarKind
fn kind(&self) -> AnyCalendarKind
The
AnyCalendarKind
enum variant associated with this calendarsource§fn to_any_cloned(&self) -> AnyCalendar
fn to_any_cloned(&self) -> AnyCalendar
Convert this calendar into an
AnyCalendar
, cloning it Read moresource§fn from_any(any: AnyCalendar) -> Result<Roc, AnyCalendar>
fn from_any(any: AnyCalendar) -> Result<Roc, AnyCalendar>
source§fn from_any_ref(any: &AnyCalendar) -> Option<&Roc>
fn from_any_ref(any: &AnyCalendar) -> Option<&Roc>
source§fn date_to_any(&self, d: &<Roc as Calendar>::DateInner) -> AnyDateInner
fn date_to_any(&self, d: &<Roc as Calendar>::DateInner) -> AnyDateInner
Convert a date for this calendar into an
AnyDateInner
Read moreimpl Copy for Roc
impl UnstableSealed for Roc
Auto Trait Implementations§
impl Freeze for Roc
impl RefUnwindSafe for Roc
impl Send for Roc
impl Sync for Roc
impl Unpin for Roc
impl UnwindSafe for Roc
Blanket Implementations§
source§impl<C> AsCalendar for Cwhere
C: Calendar,
impl<C> AsCalendar for Cwhere
C: Calendar,
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more