Make %j return values in the right range; fixes #5430
authorIan Lynagh <igloo@earth.li>
Fri, 30 Sep 2011 11:27:06 +0000 (12:27 +0100)
committerIan Lynagh <igloo@earth.li>
Fri, 30 Sep 2011 11:27:06 +0000 (12:27 +0100)
Both "struct tm" and the CalendarTime type use 000-365, but %j
uses 001-366.

System/Time.hsc

index 77fec86..1ddddba 100644 (file)
@@ -611,7 +611,7 @@ formatCalendarTime l fmt cal@(CalendarTime year mon day hour minute sec _
         decode 'e' = show2' day                      -- ditto, padded
         decode 'H' = show2 hour                      -- hours, 24-hour clock, padded
         decode 'I' = show2 (to12 hour)               -- hours, 12-hour clock
-        decode 'j' = show3 yday                      -- day of the year
+        decode 'j' = show3 (yday + 1)                -- day of the year
         decode 'k' = show2' hour                     -- hours, 24-hour clock, no padding
         decode 'l' = show2' (to12 hour)              -- hours, 12-hour clock, no padding
         decode 'M' = show2 minute                    -- minutes