toString
Returns a string representation of the date-time.
Parameters
- self:PlainDateTime
- PlainDateTime
- allocator:std.mem.Allocator
- std.mem.Allocator
- options:ToStringOptions
- ToStringOptions
Source
Implementation
pub fn toString(self: PlainDateTime, allocator: std.mem.Allocator, options: ToStringOptions) ![]u8 {
var write = abi.DiplomatWrite.init(allocator);
defer write.deinit();
const rounding_options = std.mem.zeroes(abi.c.ToStringRoundingOptions);
const display_cal: abi.c.DisplayCalendar = if (options.calendar_display) |cal| switch (cal) {
.auto => @intCast(abi.c.DisplayCalendar_Auto),
.always => @intCast(abi.c.DisplayCalendar_Always),
.never => @intCast(abi.c.DisplayCalendar_Never),
.critical => @intCast(abi.c.DisplayCalendar_Critical),
} else @intCast(abi.c.DisplayCalendar_Auto);
const result = abi.c.temporal_rs_PlainDateTime_to_ixdtf_string(
self._inner,
rounding_options,
display_cal,
&write.inner,
);
if (!result.is_ok) return error.TemporalError;
return try write.toOwnedSlice();
}