diff --git a/src/main.zig b/src/main.zig index f219103..8a942f0 100644 --- a/src/main.zig +++ b/src/main.zig @@ -47,7 +47,7 @@ pub const DateTime = struct { }; } - pub fn toTimestamp(self: Self) i64 { + fn toTimestampNaive(self: Self) i64 { var seconds: i64 = 0; if (self.year.get() < 1970) { var year = Year.new(1970); @@ -79,6 +79,11 @@ pub const DateTime = struct { if (self.second) |s| { seconds += s; } + return seconds; + } + + pub fn toTimestamp(self: Self) i64 { + var seconds = self.toTimestampNaive(); if (self.getOffset()) |ofs| seconds -= ofs.asSeconds(); return seconds; } @@ -169,7 +174,7 @@ pub const DateTime = struct { } pub fn weekday(self: Self) WeekDay { - const ts = self.toTimestamp(); + const ts = self.toTimestampNaive(); const days = @divTrunc(ts, SECONDS_PER_DAY); return @as(WeekDay, @enumFromInt(@rem(days, 7))); }