diff babel/dates.py @ 273:bf9ea4af81a0

Fixed formatting bug with 12-hour clock patterns.
author jonas
date Sun, 26 Aug 2007 13:38:58 +0000
parents 25c7ccf96f3b
children 7de5fdf3c47b
line wrap: on
line diff
--- a/babel/dates.py
+++ b/babel/dates.py
@@ -706,13 +706,19 @@
         elif char == 'a':
             return self.format_period(char)
         elif char == 'h':
-            return self.format(self.value.hour % 12, num)
+            if self.value.hour % 12 == 0:
+                return self.format(12, num)
+            else:
+                return self.format(self.value.hour % 12, num)
         elif char == 'H':
             return self.format(self.value.hour, num)
         elif char == 'K':
-            return self.format(self.value.hour % 12 - 1, num)
+            return self.format(self.value.hour % 12, num)
         elif char == 'k':
-            return self.format(self.value.hour + 1, num)
+            if self.value.hour == 0:
+                return self.format(24, num)
+            else:
+                return self.format(self.value.hour + 1, num)
         elif char == 'm':
             return self.format(self.value.minute, num)
         elif char == 's':
@@ -784,7 +790,7 @@
         return '%d' % ((self.value.day - 1) / 7 + 1)
 
     def format_period(self, char):
-        period = {0: 'am', 1: 'pm'}[int(self.value.hour > 12)]
+        period = {0: 'am', 1: 'pm'}[int(self.value.hour >= 12)]
         return get_period_names(locale=self.locale)[period]
 
     def format_frac_seconds(self, num):
Copyright (C) 2012-2017 Edgewall Software