TemporalZ

init

Creates a new PlainTime from the given time components. Equivalent to the Temporal.PlainTime constructor. See MDN Temporal.PlainTime() constructor

Parameters

#
hour_val:u8
u8
minute_val:u8
u8
second_val:u8
u8
millisecond_val:u16
u16
microsecond_val:u16
u16
nanosecond_val:u16
u16

Source

Implementation

#
pub fn init(
    hour_val: u8,
    minute_val: u8,
    second_val: u8,
    millisecond_val: u16,
    microsecond_val: u16,
    nanosecond_val: u16,
) !PlainTime {
    if (hour_val > 23 or minute_val > 59 or second_val > 59 or
        millisecond_val > 999 or microsecond_val > 999 or nanosecond_val > 999)
    {
        return abi.TemporalError.RangeError;
    }
    var buf: [18]u8 = undefined;
    const s = std.fmt.bufPrint(&buf, "{d:0>2}:{d:0>2}:{d:0>2}.{d:0>3}{d:0>3}{d:0>3}", .{
        hour_val,
        minute_val,
        second_val,
        millisecond_val,
        microsecond_val,
        nanosecond_val,
    }) catch unreachable;
    return from(s);
}