diff --git a/time.zig b/time.zig index 2a91855862d98e4c77422704f669233a92652bff..c2fe9bc6fe5fe78a6d0a4c20a7f9aaedf27c99a5 100644 --- a/time.zig +++ b/time.zig @@ -2,6 +2,7 @@ const std = @import("std"); const builtin = @import("builtin"); const string = []const u8; const extras = @import("extras"); +const nio = @import("nio"); const sys_linux = @import("sys-linux"); const time = @This(); @@ -56,13 +57,14 @@ pub const DateTime = struct { .z_offset = 0, }; - pub fn toISOString(self: DateTime) [20]u8 { - // "2021-10-21T23:20:30Z" - var result: [20]u8 = @splat(0); - var fbs = std.io.fixedBufferStream(&result); - self.format("YYYY-MM-DD HH:mm:ss", .{}, fbs.writer()) catch unreachable; + pub fn toISOString(self: DateTime) [25]u8 { + // "2021-10-21T23:20:30+00:00" + var result: [25]u8 = @splat(0); + var fbs: nio.FixedBufferStream([]u8) = .init(&result); + self.formatFmt("YYYY-MM-DD HH:mm:ss", &fbs) catch unreachable; + fbs = .init(result[19..]); + self.formatFmt("Z", &fbs) catch unreachable; result[10] = 'T'; - result[19] = 'Z'; return result; } diff --git a/zig.mod b/zig.mod index 9e1bb782f39941b47f10a2dbe65120bc1af9c5f9..46461cf44afcd66830ab8e5193f4ddc6e64b83a7 100644 --- a/zig.mod +++ b/zig.mod @@ -7,5 +7,6 @@ dependencies: - src: git https://github.com/nektro/zig-extras - src: git https://github.com/nektro/zig-sys-linux - src: git https://github.com/nektro/zig-sys-darwin + - src: git https://github.com/nektro/zig-nio root_dependencies: - src: git https://github.com/nektro/zig-expect