const std = @import("std"); const Self = @This(); const time = @cImport({ @cInclude("time.h"); }); buf: []u8, pub fn init(self: *Self, alloc: std.mem.Allocator) !void { self.buf = try alloc.alloc(u8, 64); errdefer alloc.free(self.buf); } pub fn update(self: *Self) ![]const u8 { const tt: time.time_t = time.time(null); const tp = time.localtime(&tt); const n = time.strftime( self.buf.ptr, self.buf.len, "%c", tp, ); return self.buf[0..n]; } pub fn deinit(self: *Self, alloc: std.mem.Allocator) void { alloc.free(self.buf); }