Struct icu_relativetime::RelativeTimeFormatter
source · pub struct RelativeTimeFormatter { /* private fields */ }
Expand description
A formatter to render locale-sensitive relative time.
Example
use fixed_decimal::FixedDecimal;
use icu::locid::locale;
use icu::relativetime::{
RelativeTimeFormatter, RelativeTimeFormatterOptions,
};
use writeable::assert_writeable_eq;
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 fixed_decimal::FixedDecimal;
use icu::locid::locale;
use icu::relativetime::options::Numeric;
use icu::relativetime::{
RelativeTimeFormatter, RelativeTimeFormatterOptions,
};
use writeable::assert_writeable_eq;
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 fixed_decimal::FixedDecimal;
use icu::locid::locale;
use icu::relativetime::options::Numeric;
use icu::relativetime::{
RelativeTimeFormatter, RelativeTimeFormatterOptions,
};
use writeable::assert_writeable_eq;
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§
source§impl RelativeTimeFormatter
impl RelativeTimeFormatter
sourcepub fn try_new_long_second_unstable<D>(
data_provider: &D,
locale: &DataLocale,
options: RelativeTimeFormatterOptions
) -> Result<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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<Self, 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
.