TemporalZ

calInit

Creates a new PlainDateTime with a specific calendar.

  • calendar: Calendar identifier string (e.g., "iso8601").

Parameters

#
year_val:i32
i32
month_val:u8
u8
day_val:u8
u8
hour_val:u8
u8
minute_val:u8
u8
second_val:u8
u8
millisecond_val:u16
u16
microsecond_val:u16
u16
nanosecond_val:u16
u16
calendar:[]const u8
[]const u8

Source

Implementation

#
pub fn calInit(
    year_val: i32,
    month_val: u8,
    day_val: u8,
    hour_val: u8,
    minute_val: u8,
    second_val: u8,
    millisecond_val: u16,
    microsecond_val: u16,
    nanosecond_val: u16,
    calendar: []const u8,
) !PlainDateTime {
    const cal_view = abi.toDiplomatStringView(calendar);
    const cal_result = abi.c.temporal_rs_AnyCalendarKind_parse_temporal_calendar_string(cal_view);
    const cal_kind = try abi.extractResult(cal_result);
    return wrapPlainDateTime(abi.c.temporal_rs_PlainDateTime_try_new(
        year_val,
        month_val,
        day_val,
        hour_val,
        minute_val,
        second_val,
        millisecond_val,
        microsecond_val,
        nanosecond_val,
        cal_kind,
    ));
}