From 33042fb70a836310f5a5e7b80b5c56a948e8aeee Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sun, 24 Oct 2021 21:36:31 -0700 Subject: [PATCH] add minute printers --- main.zig | 2 ++ time.zig | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/main.zig b/main.zig index f87825477d27c69071d3f81e2b018098c7d79995..80e4619892103eb1703eefb2e5f759d438a6f7aa 100644 --- a/main.zig +++ b/main.zig @@ -59,3 +59,5 @@ test { try assertOk(1144509852789, "h", "3"); } test { try assertOk(1144509852789, "hh", "03"); } test { try assertOk(1144509852789, "k", "15"); } test { try assertOk(1144509852789, "kk", "15"); } +test { try assertOk(1144509852789, "m", "24"); } +test { try assertOk(1144509852789, "mm", "24"); } diff --git a/time.zig b/time.zig index c856e7a93e5c737a2eabb8065c460264d22edb6a..2576e3de6bd1d05d2891f6dc4ed8b98c740e01bb 100644 --- a/time.zig +++ b/time.zig @@ -226,7 +226,6 @@ pub const DateTime = struct { .ddd => try writer.writeAll(@tagName(self.weekday)), .DD => try writer.print("{:0>2}", .{self.days + 1}), .YYYY => try writer.print("{:0>4}", .{self.years}), - .mm => try writer.print("{:0>2}", .{self.minutes}), .ss => try writer.print("{:0>2}", .{self.seconds}), .SSS => try writer.print("{:0>3}", .{self.ms}), .MM => try writer.print("{:0>2}", .{self.months + 1}), @@ -263,6 +262,8 @@ pub const DateTime = struct { .hh => try writer.print("{:0>2}", .{wrap(self.hours, 12)}), .k => try writer.print("{}", .{wrap(self.hours, 24)}), .kk => try writer.print("{:0>2}", .{wrap(self.hours, 24)}), + .m => try writer.print("{}", .{self.minutes}), + .mm => try writer.print("{:0>2}", .{self.minutes}), else => @compileError("'" ++ @tagName(tag) ++ "' not currently supported"), } @@ -411,3 +412,8 @@ fn printOrdinal(writer: anytype, num: u16) !void { fn printLongName(writer: anytype, index: u16, names: []const string) !void { try writer.writeAll(names[index]); } + +fn wrap(val: u16, at: u16) !u16 { + var tmp = val % at; + return if (tmp == 0) at else tmp; +} -- 2.54.0