relative times with strings such as "2 days" or "1 month" (ticket #126).
+Version 0.9.4
+http://svn.edgewall.org/repos/babel/tags/0.9.4/
+(???, from branches/stable/0.9.x)
+
+ * Currency symbol definitions that is defined with choice patterns in the
+ CLDR data are no longer imported, so the symbol code will be used instead.
+ * Fixed quarter support in date formatting.
+
+
Version 0.9.3
http://svn.edgewall.org/repos/babel/tags/0.9.3/
(Jul 9 2008, from branches/stable/0.9.x)
year = year[-2:]
return year
+ def format_quarter(self, char, num):
+ quarter = (self.value.month - 1) // 3 + 1
+ if num <= 2:
+ return ('%%0%dd' % num) % quarter
+ width = {3: 'abbreviated', 4: 'wide', 5: 'narrow'}[num]
+ context = {'Q': 'format', 'q': 'stand-alone'}[char]
+ return get_quarter_names(width, context, self.locale)[quarter]
+
def format_month(self, char, num):
if num <= 2:
return ('%%0%dd' % num) % self.value.month
class DateTimeFormatTestCase(unittest.TestCase):
+ def test_quarter_format(self):
+ d = date(2006, 6, 8)
+ fmt = dates.DateTimeFormat(d, locale='en_US')
+ self.assertEqual('2', fmt['Q'])
+ self.assertEqual('2nd quarter', fmt['QQQQ'])
+ d = date(2006, 12, 31)
+ fmt = dates.DateTimeFormat(d, locale='en_US')
+ self.assertEqual('Q4', fmt['QQQ'])
+
def test_month_context(self):
d = date(2006, 1, 8)
fmt = dates.DateTimeFormat(d, locale='cs_CZ')