Expand description
Parts of a formatted date/time.
§Examples
use icu::calendar::Gregorian;
use icu::calendar::Date;
use icu::datetime::parts as datetime_parts;
use icu::datetime::fieldsets;
use icu::datetime::options::SubsecondDigits;
use icu::datetime::options::TimePrecision;
use icu::datetime::DateTimeFormatter;
use icu::decimal::parts as decimal_parts;
use icu::locale::locale;
use icu::datetime::input::{ZonedDateTime, Time};
use icu::time::zone::{IanaParser, VariantOffsetsCalculator};
use writeable::assert_writeable_parts_eq;
let dtf = DateTimeFormatter::try_new(
    locale!("en-u-ca-buddhist").into(),
    fieldsets::YMDT::medium().with_time_precision(TimePrecision::Subsecond(SubsecondDigits::S2)).with_zone(fieldsets::zone::SpecificShort),
)
.unwrap();
let dtz = ZonedDateTime::try_full_from_str("2023-11-20T11:35:03.5+00:00[Europe/London]", dtf.calendar(), IanaParser::new(), VariantOffsetsCalculator::new()).unwrap();
// Missing data is filled in on a best-effort basis, and an error is signaled.
assert_writeable_parts_eq!(
    dtf.format(&dtz),
    "Nov 20, 2566 BE, 11:35:03.50 AM GMT",
    [
        (0, 3, datetime_parts::MONTH),
        (4, 6, decimal_parts::INTEGER),
        (4, 6, datetime_parts::DAY),
        (8, 12, decimal_parts::INTEGER),
        (8, 12, datetime_parts::YEAR),
        (13, 15, datetime_parts::ERA),
        (17, 19, decimal_parts::INTEGER),
        (17, 19, datetime_parts::HOUR),
        (20, 22, decimal_parts::INTEGER),
        (20, 22, datetime_parts::MINUTE),
        (23, 28, datetime_parts::SECOND),
        (23, 25, decimal_parts::INTEGER),
        (25, 26, decimal_parts::DECIMAL),
        (26, 28, decimal_parts::FRACTION),
        // note: from 28 to 31 is a NNBSP
        (31, 33, datetime_parts::DAY_PERIOD),
        (34, 37, datetime_parts::TIME_ZONE_NAME),
    ]
);Constants§
- DAY
 - A 
Partused byFormattedDateTime. - DAY_
PERIOD  - A 
Partused byFormattedDateTime. - ERA
 - A 
Partused byFormattedDateTime. - HOUR
 - A 
Partused byFormattedDateTime. - MINUTE
 - A 
Partused byFormattedDateTime. - MONTH
 - A 
Partused byFormattedDateTime. - RELATED_
YEAR  - A 
Partused byFormattedDateTime. - SECOND
 - A 
Partused byFormattedDateTime. - TIME_
ZONE_ NAME  - A 
Partused byFormattedDateTime. - WEEKDAY
 - A 
Partused byFormattedDateTime. - YEAR
 - A 
Partused byFormattedDateTime. - YEAR_
NAME  - A 
Partused byFormattedDateTime.