diff babel/dates.py @ 217:4de6f4604830

Implement milliseconds in day (#48).
author cmlenz
date Mon, 16 Jul 2007 06:30:01 +0000
parents 1f3c3924b1b5
children 898b9450f274
line wrap: on
line diff
--- a/babel/dates.py
+++ b/babel/dates.py
@@ -469,7 +469,9 @@
         elif char == 's':
             return self.format(self.value.second, num)
         elif char == 'S':
-            return self.format_frac_seconds(self.value.microsecond, num)
+            return self.format_frac_seconds(num)
+        elif char == 'A':
+            return self.format_milliseconds_in_day(num)
         elif char in ('z', 'Z', 'v'):
             return self.format_timezone(char, num)
         else:
@@ -520,10 +522,15 @@
         period = {0: 'am', 1: 'pm'}[int(self.value.hour > 12)]
         return get_period_names(locale=self.locale)[period]
 
-    def format_frac_seconds(self, char, num):
+    def format_frac_seconds(self, num):
         value = str(self.value.microsecond)
         return self.format(round(float('.%s' % value), num) * 10**num, num)
 
+    def format_milliseconds_in_day(self, num):
+        msecs = self.value.microsecond // 1000 + self.value.second * 1000 + \
+                self.value.minute * 60000 + self.value.hour * 3600000
+        return self.format(msecs, num)
+
     def format_timezone(self, char, num):
         if char in ('z', 'v'):
             if hasattr(self.value.tzinfo, 'zone'):
Copyright (C) 2012-2017 Edgewall Software