| ... | @@ -191,18 +191,16 @@ fn parseCommitUserAndAt(input: string) !UserAndAt { | ... | @@ -191,18 +191,16 @@ fn parseCommitUserAndAt(input: string) !UserAndAt { |
| 191 | } | 191 | } |
| 192 | | 192 | |
| 193 | fn parseAt(time_part: string, tz_part: string) time.DateTime { | 193 | fn parseAt(time_part: string, tz_part: string) time.DateTime { |
| 194 | const at = time.DateTime.initUnix(extras.parseDigits(u64, time_part, 10) catch unreachable); | 194 | var at = time.DateTime.initUnix(extras.parseDigits(u64, time_part, 10) catch unreachable); |
| 195 | std.debug.assert(tz_part.len == 5); | 195 | std.debug.assert(tz_part.len == 5); |
| 196 | std.debug.assert(tz_part[0] == '-' or tz_part[0] == '+'); | 196 | std.debug.assert(tz_part[0] == '-' or tz_part[0] == '+'); |
| 197 | // const sign: i8 = if (tz_part[0] == '+') 1 else -1; | 197 | const sign: i8 = if (tz_part[0] == '+') 1 else -1; |
| 198 | // const hrs = extras.parseDigits(u8, tz_part[1..][0..2], 10) catch unreachable; | 198 | const hrs = extras.parseDigits(u7, tz_part[1..][0..2], 10) catch unreachable; |
| 199 | // const mins = extras.parseDigits(u8, tz_part[3..][0..2], 10) catch unreachable; | 199 | const mins = extras.parseDigits(u7, tz_part[3..][0..2], 10) catch unreachable; |
| 200 | // if (sign > 0) at = at.addHours(hrs); | 200 | at.z_offset += hrs; |
| 201 | // if (sign > 0) at = at.addMins(mins); | 201 | at.z_offset *= 4; |
| 202 | // at.offset += (hrs * 60) + mins; | 202 | at.z_offset += mins / 15; |
| 203 | // if (sign < 0) at = at.subHours(hrs); // TODO: | 203 | at.z_offset *= sign; |
| 204 | // if (sign < 0) at = at.subMins(mins); // TODO: | | |
| 205 | // at.offset -= (hrs * 60) + mins; | | |
| 206 | return at; | 204 | return at; |
| 207 | } | 205 | } |
| 208 | | 206 | |