From b62a4341424d566e5c025ed41e796418dee53a89 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 23 Oct 2021 23:15:02 -0700 Subject: [PATCH] add week of the year printers --- main.zig | 3 +++ time.zig | 3 +++ 2 files changed, 6 insertions(+) diff --git a/main.zig b/main.zig index 0fae95834d62f51da850ea765789332a5d31f031..1396a6fdbbbd1d6061207d6a8f3be1752c6c42cf 100644 --- a/main.zig +++ b/main.zig @@ -42,3 +42,6 @@ test { try assertOk(1144509852789, "dd", "Sa"); } test { try assertOk(1144509852789, "ddd", "Sat"); } test { try assertOk(1144509852789, "dddd", "Saturday"); } test { try assertOk(1144509852789, "E", "7"); } +test { try assertOk(1144509852789, "w", "14"); } +test { try assertOk(1144509852789, "wo", "14th"); } +test { try assertOk(1144509852789, "ww", "14"); } diff --git a/time.zig b/time.zig index 721a73e500a4ca8cfa9025cc6c6a29dfb765f40b..130fe6ac3e51c65f4d8228c526eed1f7990c28f3 100644 --- a/time.zig +++ b/time.zig @@ -246,6 +246,9 @@ pub const DateTime = struct { .dd => try writer.writeAll(@tagName(self.weekday)[0..2]), .dddd => try printLongName(writer, @enumToInt(self.weekday), &[_]string{ "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday" }), .E => try writer.print("{}", .{@enumToInt(self.weekday) + 1}), + .w => try writer.print("{}", .{self.dayOfThisYear() / 7 + 1}), + .wo => try printOrdinal(writer, self.dayOfThisYear() / 7 + 1), + .ww => try writer.print("{:0>2}", .{self.dayOfThisYear() / 7 + 1}), else => @compileError("'" ++ @tagName(tag) ++ "' not currently supported"), } -- 2.54.0