Struct icu::relativetime::RelativeTimeFormatter
source · [−]pub struct RelativeTimeFormatter { /* private fields */ }
Expand description
A formatter to render locale-sensitive relative time.
Example
use icu_relativetime::{RelativeTimeFormatter, RelativeTimeFormatterOptions};
use icu_locid::locale;
use writeable::assert_writeable_eq;
use fixed_decimal::FixedDecimal;
let relative_time_formatter = RelativeTimeFormatter::try_new_long_second_unstable(
&icu_testdata::unstable(),
&locale!("en").into(),
RelativeTimeFormatterOptions::default()
)
.expect("Data should load successfully.");
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(5i8)),
"in 5 seconds"
);
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(-10i8)),
"10 seconds ago"
);
Example
use icu_relativetime::{RelativeTimeFormatter, RelativeTimeFormatterOptions};
use icu_relativetime::options::Numeric;
use icu_locid::locale;
use writeable::assert_writeable_eq;
use fixed_decimal::FixedDecimal;
let relative_time_formatter = RelativeTimeFormatter::try_new_short_day_unstable(
&icu_testdata::unstable(),
&locale!("es").into(),
RelativeTimeFormatterOptions { numeric: Numeric::Auto }
)
.expect("Data should load successfully.");
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(0u8)),
"hoy"
);
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(-2i8)),
"anteayer"
);
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(2u8)),
"pasado mañana"
);
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(15i8)),
"dentro de 15 d"
);
Example
use icu_relativetime::{RelativeTimeFormatter, RelativeTimeFormatterOptions};
use icu_relativetime::options::Numeric;
use icu_locid::locale;
use writeable::assert_writeable_eq;
use fixed_decimal::FixedDecimal;
let relative_time_formatter = RelativeTimeFormatter::try_new_narrow_year_unstable(
&icu_testdata::unstable(),
&locale!("bn").into(),
RelativeTimeFormatterOptions::default()
)
.expect("Data should load successfully.");
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(3u8)),
"৩ বছরে"
);
assert_writeable_eq!(
relative_time_formatter.format(FixedDecimal::from(-15i8)),
"১৫ বছর পূর্বে"
);
Implementations
sourceimpl RelativeTimeFormatter
impl RelativeTimeFormatter
sourcepub fn try_new_long_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongSecondRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongSecondRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_minute_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongMinuteRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_minute_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongMinuteRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_hour_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongHourRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_hour_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongHourRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_day_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongDayRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_day_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongDayRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_week_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongWeekRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_week_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongWeekRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_month_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongMonthRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_month_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongMonthRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_quarter_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongQuarterRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_quarter_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongQuarterRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_long_year_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongYearRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_long_year_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<LongYearRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortSecondRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortSecondRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_minute_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortMinuteRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_minute_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortMinuteRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_hour_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortHourRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_hour_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortHourRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_day_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortDayRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_day_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortDayRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_week_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortWeekRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_week_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortWeekRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_month_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortMonthRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_month_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortMonthRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_quarter_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortQuarterRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_quarter_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortQuarterRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_short_year_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortYearRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_short_year_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<ShortYearRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowSecondRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowSecondRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_minute_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowMinuteRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_minute_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowMinuteRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_hour_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowHourRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_hour_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowHourRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_day_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowDayRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_day_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowDayRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_week_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowWeekRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_week_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowWeekRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_month_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowMonthRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_month_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowMonthRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_quarter_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowQuarterRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_quarter_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowQuarterRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn try_new_narrow_year_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowYearRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
pub fn try_new_narrow_year_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<RelativeTimeFormatter, RelativeTimeError> where
D: DataProvider<CardinalV1Marker> + DataProvider<NarrowYearRelativeTimeFormatDataV1Marker> + DataProvider<DecimalSymbolsV1Marker> + ?Sized,
Create a new RelativeTimeFormatter
sourcepub fn format(&self, value: FixedDecimal) -> FormattedRelativeTime<'_>
pub fn format(&self, value: FixedDecimal) -> FormattedRelativeTime<'_>
Format a value
according to the locale and formatting options of
RelativeTimeFormatter
.
Auto Trait Implementations
impl RefUnwindSafe for RelativeTimeFormatter
impl Send for RelativeTimeFormatter
impl Sync for RelativeTimeFormatter
impl Unpin for RelativeTimeFormatter
impl UnwindSafe for RelativeTimeFormatter
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more