diff --git a/main.zig b/main.zig index eaf3f07426909a0f4cc69d5acfad711eef373068..6fcb778740a5b6b30ce3e4bfa5634ec7a732eb5a 100644 --- a/main.zig +++ b/main.zig @@ -45,3 +45,7 @@ test { try assertOk(1144509852789, "E", "7"); } test { try assertOk(1144509852789, "w", "14"); } test { try assertOk(1144509852789, "wo", "14th"); } test { try assertOk(1144509852789, "ww", "14"); } +test { try assertOk(1144509852789, "Y", "12006"); } +test { try assertOk(1144509852789, "YY", "06"); } +test { try assertOk(1144509852789, "YYY", "2006"); } +test { try assertOk(1144509852789, "YYYY", "2006"); } diff --git a/time.zig b/time.zig index c5204672556b6e630873cbc7826b8f5418dfabd3..f5e49db1c18e77488b963ae9cf66dcfacba16dfa 100644 --- a/time.zig +++ b/time.zig @@ -251,6 +251,9 @@ pub const DateTime = struct { .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}), + .Y => try writer.print("{}", .{self.years + 10000}), + .YY => try writer.print("{:0>2}", .{self.years % 100}), + .YYY => try writer.print("{}", .{self.years}), else => @compileError("'" ++ @tagName(tag) ++ "' not currently supported"), }