authorgravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-10-24 21:36:31 -07:00
committergravatar for hello@nektro.netMeghan Denny <hello@nektro.net> 2021-10-24 21:36:31 -07:00
log33042fb70a836310f5a5e7b80b5c56a948e8aeee
treeeb26ce3b931f991e5b7fe5e746276da8cb5ff9c5
parent35aedc30af4dd51539fefd5acdedfc53e0be64c1

add minute printers


2 files changed, 9 insertions(+), 1 deletions(-)

main.zig+2
...@@ -59,3 +59,5 @@ test { try assertOk(1144509852789, "h", "3"); }...@@ -59,3 +59,5 @@ test { try assertOk(1144509852789, "h", "3"); }
59test { try assertOk(1144509852789, "hh", "03"); }59test { try assertOk(1144509852789, "hh", "03"); }
60test { try assertOk(1144509852789, "k", "15"); }60test { try assertOk(1144509852789, "k", "15"); }
61test { try assertOk(1144509852789, "kk", "15"); }61test { try assertOk(1144509852789, "kk", "15"); }
62test { try assertOk(1144509852789, "m", "24"); }
63test { try assertOk(1144509852789, "mm", "24"); }
time.zig+7-1
...@@ -226,7 +226,6 @@ pub const DateTime = struct {...@@ -226,7 +226,6 @@ pub const DateTime = struct {
226 .ddd => try writer.writeAll(@tagName(self.weekday)),226 .ddd => try writer.writeAll(@tagName(self.weekday)),
227 .DD => try writer.print("{:0>2}", .{self.days + 1}),227 .DD => try writer.print("{:0>2}", .{self.days + 1}),
228 .YYYY => try writer.print("{:0>4}", .{self.years}),228 .YYYY => try writer.print("{:0>4}", .{self.years}),
229 .mm => try writer.print("{:0>2}", .{self.minutes}),
230 .ss => try writer.print("{:0>2}", .{self.seconds}),229 .ss => try writer.print("{:0>2}", .{self.seconds}),
231 .SSS => try writer.print("{:0>3}", .{self.ms}),230 .SSS => try writer.print("{:0>3}", .{self.ms}),
232 .MM => try writer.print("{:0>2}", .{self.months + 1}),231 .MM => try writer.print("{:0>2}", .{self.months + 1}),
...@@ -263,6 +262,8 @@ pub const DateTime = struct {...@@ -263,6 +262,8 @@ pub const DateTime = struct {
263 .hh => try writer.print("{:0>2}", .{wrap(self.hours, 12)}),262 .hh => try writer.print("{:0>2}", .{wrap(self.hours, 12)}),
264 .k => try writer.print("{}", .{wrap(self.hours, 24)}),263 .k => try writer.print("{}", .{wrap(self.hours, 24)}),
265 .kk => try writer.print("{:0>2}", .{wrap(self.hours, 24)}),264 .kk => try writer.print("{:0>2}", .{wrap(self.hours, 24)}),
265 .m => try writer.print("{}", .{self.minutes}),
266 .mm => try writer.print("{:0>2}", .{self.minutes}),
266267
267 else => @compileError("'" ++ @tagName(tag) ++ "' not currently supported"),268 else => @compileError("'" ++ @tagName(tag) ++ "' not currently supported"),
268 }269 }
...@@ -411,3 +412,8 @@ fn printOrdinal(writer: anytype, num: u16) !void {...@@ -411,3 +412,8 @@ fn printOrdinal(writer: anytype, num: u16) !void {
411fn printLongName(writer: anytype, index: u16, names: []const string) !void {412fn printLongName(writer: anytype, index: u16, names: []const string) !void {
412 try writer.writeAll(names[index]);413 try writer.writeAll(names[index]);
413}414}
415
416fn wrap(val: u16, at: u16) !u16 {
417 var tmp = val % at;
418 return if (tmp == 0) at else tmp;
419}