Skip to content

Commit 44fc204

Browse files
GH9570 allow timedelta string conversion without leading zero
1 parent 3e7f21c commit 44fc204

File tree

2 files changed

+6
-1
lines changed

2 files changed

+6
-1
lines changed

pandas/tseries/tests/test_timedeltas.py

+5
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,11 @@ def test_construction(self):
6464
self.assertEqual(Timedelta(123072001000000).value, 123072001000000)
6565
self.assertTrue('1 days 10:11:12.001' in str(Timedelta(123072001000000)))
6666

67+
# string conversion with/without leading zero
68+
# GH 9570
69+
self.assertEqual(Timedelta('0:00:00'), timedelta(hours=0))
70+
self.assertEqual(Timedelta('00:00:00'), timedelta(hours=0))
71+
6772
# more strings
6873
# GH 8190
6974
self.assertEqual(Timedelta('1 h'), timedelta(hours=1))

pandas/tseries/timedeltas.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ def _validate_timedelta_unit(arg):
119119
_short_search = re.compile(
120120
"^\s*(?P<neg>-?)\s*(?P<value>\d*\.?\d*)\s*(?P<unit>d|s|ms|us|ns)?\s*$",re.IGNORECASE)
121121
_full_search = re.compile(
122-
"^\s*(?P<neg>-?)\s*(?P<days>\d*\.?\d*)?\s*(days|d|day)?,?\s*\+?(?P<time>\d{2}:\d{2}:\d{2})?(?P<frac>\.\d+)?\s*$",re.IGNORECASE)
122+
"^\s*(?P<neg>-?)\s*(?P<days>\d*\.?\d*)?\s*(days|d|day)?,?\s*\+?(?P<time>\d{1,2}:\d{2}:\d{2})?(?P<frac>\.\d+)?\s*$",re.IGNORECASE)
123123
_nat_search = re.compile(
124124
"^\s*(nat|nan)\s*$",re.IGNORECASE)
125125
_whitespace = re.compile('^\s*$')

0 commit comments

Comments
 (0)