diff -r ebab64f600c6 src/org/python/modules/time/Time.java --- a/src/org/python/modules/time/Time.java Sat Mar 23 18:23:02 2013 -0700 +++ b/src/org/python/modules/time/Time.java Sat Mar 23 19:29:57 2013 -0700 @@ -764,6 +764,8 @@ StringBuilder builder = new StringBuilder(); boolean directive = false; boolean inQuote = false; + boolean containsYear = false; + boolean containsMonth = false; if (format.length() == 0) { return null; @@ -802,9 +804,29 @@ if (translated == null && notSupported.contains(charAt)) { return null; } + + switch (charAt) { + case 'c': + case 'x': + containsMonth = containsYear = true; + break; + case 'y': + case 'Y': + containsYear = true; + break; + case 'b': + case 'B': + case 'm': + containsMonth = true; + break; + } + builder.append(translated != null ? translated : charAt); directive = false; } + if (containsMonth && !containsYear) { + return null; + } if (inQuote) { builder.append("'"); }