| ... | @@ -2,6 +2,7 @@ const std = @import("std"); | ... | @@ -2,6 +2,7 @@ const std = @import("std"); |
| 2 | const builtin = @import("builtin"); | 2 | const builtin = @import("builtin"); |
| 3 | const string = []const u8; | 3 | const string = []const u8; |
| 4 | const extras = @import("extras"); | 4 | const extras = @import("extras"); |
| | 5 | const nio = @import("nio"); |
| 5 | const sys_linux = @import("sys-linux"); | 6 | const sys_linux = @import("sys-linux"); |
| 6 | const time = @This(); | 7 | const time = @This(); |
| 7 | | 8 | |
| ... | @@ -56,13 +57,14 @@ pub const DateTime = struct { | ... | @@ -56,13 +57,14 @@ pub const DateTime = struct { |
| 56 | .z_offset = 0, | 57 | .z_offset = 0, |
| 57 | }; | 58 | }; |
| 58 | | 59 | |
| 59 | pub fn toISOString(self: DateTime) [20]u8 { | 60 | pub fn toISOString(self: DateTime) [25]u8 { |
| 60 | // "2021-10-21T23:20:30Z" | 61 | // "2021-10-21T23:20:30+00:00" |
| 61 | var result: [20]u8 = @splat(0); | 62 | var result: [25]u8 = @splat(0); |
| 62 | var fbs = std.io.fixedBufferStream(&result); | 63 | var fbs: nio.FixedBufferStream([]u8) = .init(&result); |
| 63 | self.format("YYYY-MM-DD HH:mm:ss", .{}, fbs.writer()) catch unreachable; | 64 | self.formatFmt("YYYY-MM-DD HH:mm:ss", &fbs) catch unreachable; |
| | 65 | fbs = .init(result[19..]); |
| | 66 | self.formatFmt("Z", &fbs) catch unreachable; |
| 64 | result[10] = 'T'; | 67 | result[10] = 'T'; |
| 65 | result[19] = 'Z'; | | |
| 66 | return result; | 68 | return result; |
| 67 | } | 69 | } |
| 68 | | 70 | |