From 48a84123d753d91e1223d68dbf267c17200c2d73 Mon Sep 17 00:00:00 2001 From: Meghan Denny Date: Sat, 23 Oct 2021 23:14:47 -0700 Subject: [PATCH] add day of the year printers --- main.zig | 6 ++++++ time.zig | 5 +++++ 2 files changed, 11 insertions(+) diff --git a/main.zig b/main.zig index 73c303ee3d2ddaedbbcbdf9a989eb0bfe38364a4..0fae95834d62f51da850ea765789332a5d31f031 100644 --- a/main.zig +++ b/main.zig @@ -36,3 +36,9 @@ test { try assertOk(1144509852789, "DD", "08"); } test { try assertOk(1144509852789, "DDD", "98"); } test { try assertOk(1144509852789, "DDDo", "98th"); } test { try assertOk(1144509852789, "DDDD", "098"); } +test { try assertOk(1144509852789, "d", "6"); } +test { try assertOk(1144509852789, "do", "6th"); } +test { try assertOk(1144509852789, "dd", "Sa"); } +test { try assertOk(1144509852789, "ddd", "Sat"); } +test { try assertOk(1144509852789, "dddd", "Saturday"); } +test { try assertOk(1144509852789, "E", "7"); } diff --git a/time.zig b/time.zig index 67b7a891d4d0a9d124b1fb9d5c80e61a02a1f6e1..721a73e500a4ca8cfa9025cc6c6a29dfb765f40b 100644 --- a/time.zig +++ b/time.zig @@ -241,6 +241,11 @@ pub const DateTime = struct { .DDD => try writer.print("{}", .{self.dayOfThisYear() + 1}), .DDDo => try printOrdinal(writer, self.dayOfThisYear() + 1), .DDDD => try writer.print("{:0>3}", .{self.dayOfThisYear() + 1}), + .d => try writer.print("{}", .{@enumToInt(self.weekday)}), + .do => try printOrdinal(writer, @enumToInt(self.weekday)), + .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}), else => @compileError("'" ++ @tagName(tag) ++ "' not currently supported"), } -- 2.54.0