Index: Lib/_strptime.py =================================================================== --- Lib/_strptime.py (revision 53442) +++ Lib/_strptime.py (working copy) @@ -206,6 +206,8 @@ #XXX: Does 'Y' need to worry about having less or more than # 4 digits? 'Y': r"(?P\d\d\d\d)", + 'F': r"(?P(?P\d\d\d\d)-(?P1[0-2]|0[1-9]|[1-9])-(?P3[0-1]|[1-2]\d|0[1-9]|[1-9]| [1-9]))", + 'T': r"(?P(?P2[0-3]|[0-1]\d|\d):(?P[0-5]\d|\d):(?P6[0-1]|[0-5]\d|\d))", 'A': self.__seqToRE(self.locale_time.f_weekday, 'A'), 'a': self.__seqToRE(self.locale_time.a_weekday, 'a'), 'B': self.__seqToRE(self.locale_time.f_month[1:], 'B'), Index: Lib/test/test_time.py =================================================================== --- Lib/test/test_time.py (revision 53442) +++ Lib/test/test_time.py (working copy) @@ -105,8 +105,8 @@ # Should be able to go round-trip from strftime to strptime without # throwing an exception. tt = time.gmtime(self.t) - for directive in ('a', 'A', 'b', 'B', 'c', 'd', 'H', 'I', - 'j', 'm', 'M', 'p', 'S', + for directive in ('a', 'A', 'b', 'B', 'c', 'd', 'F', 'H', 'I', + 'j', 'm', 'M', 'p', 'S', 'T', 'U', 'w', 'W', 'x', 'X', 'y', 'Y', 'Z', '%'): format = '%' + directive strf_output = time.strftime(format, tt)