Skip to content

Commit fd86c72

Browse files
committed
Render leading zeros for years 0001-0999
1 parent b21c507 commit fd86c72

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

pyhive/common.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,14 @@ def escape_sequence(self, item):
234234
return '(' + ','.join(l) + ')'
235235

236236
def escape_datetime(self, item, format, cutoff=0):
237-
dt_str = item.strftime(format)
237+
if format.startswith('%Y'):
238+
# patch for #404
239+
dt_str = '{:0>4}{}'.format(
240+
item.strftime('%Y'),
241+
item.strftime(format.lstrip('%Y'))
242+
)
243+
else:
244+
dt_str = item.strftime(format)
238245
formatted = dt_str[:-cutoff] if cutoff and format.endswith(".%f") else dt_str
239246
return "'{}'".format(formatted)
240247

pyhive/tests/test_common.py

+4
Original file line numberDiff line numberDiff line change
@@ -38,3 +38,7 @@ def test_escape_args(self):
3838
("'2020-04-17'",))
3939
self.assertEqual(escaper.escape_args((datetime.datetime(2020, 4, 17, 12, 0, 0, 123456),)),
4040
("'2020-04-17 12:00:00.123456'",))
41+
self.assertEqual(escaper.escape_args((datetime.date(2020, 4, 17),)),
42+
("'2020-04-17'",))
43+
self.assertEqual(escaper.escape_args((datetime.datetime(20, 4, 17, 12, 0, 0, 123456),)),
44+
("'0020-04-17 12:00:00.123456'",))

0 commit comments

Comments
 (0)