From: Aarni Koskela Date: Mon, 4 Jan 2016 17:34:24 +0000 (+0200) Subject: dates: Add DateTimeFormat.extract() support function X-Git-Tag: 2.3.1~26^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b652f655deab93dddf35dd0fb4799f978778e275;p=thirdparty%2Fbabel.git dates: Add DateTimeFormat.extract() support function --- diff --git a/babel/dates.py b/babel/dates.py index 20d1ab81..b0ba9c08 100644 --- a/babel/dates.py +++ b/babel/dates.py @@ -1041,6 +1041,25 @@ class DateTimeFormat(object): else: raise KeyError('Unsupported date/time field %r' % char) + def extract(self, char): + char = str(char)[0] + if char == 'y': + return self.value.year + elif char == 'M': + return self.value.month + elif char == 'd': + return self.value.day + elif char == 'H': + return self.value.hour + elif char == 'h': + return (self.value.hour % 12 or 12) + elif char == 'm': + return self.value.minute + elif char == 'a': + return int(self.value.hour >= 12) # 0 for am, 1 for pm + else: + raise NotImplementedError("Not implemented: extracting %r from %r" % (char, self.value)) + def format_era(self, char, num): width = {3: 'abbreviated', 4: 'wide', 5: 'narrow'}[max(3, num)] era = int(self.value.year >= 0)