Skip to content

Commit 64c70cd

Browse files
committed
fix date parsing bug with missing milliseconds
1 parent 6fab0f3 commit 64c70cd

File tree

2 files changed

+19
-1
lines changed

2 files changed

+19
-1
lines changed
Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
11
from datetime import datetime
22

33
def parse_date_time(date):
4-
return datetime.strptime(date, "%Y-%m-%dT%H:%M:%S.%fZ") if date is not None else None
4+
try:
5+
return datetime.strptime(date, "%Y-%m-%dT%H:%M:%S.%fZ") if date is not None else None
6+
except ValueError:
7+
return datetime.strptime(date, "%Y-%m-%dT%H:%M:%SZ") if date is not None else None

external-worker/tests/test_utils.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import datetime
2+
import unittest
3+
4+
from flowable.external_worker_client.utils import parse_date_time
5+
6+
7+
class TestUtils(unittest.TestCase):
8+
9+
def test_parse_date_time_with_millis(self):
10+
date = parse_date_time('2024-09-23T15:23:08.123Z')
11+
self.assertEqual(datetime.datetime(2024, 9, 23, 15, 23, 8, 123000), date)
12+
13+
def test_parse_date_time_without_millis(self):
14+
date = parse_date_time('2024-09-23T15:23:08Z')
15+
self.assertEqual(datetime.datetime(2024, 9, 23, 15, 23, 8, 0), date)

0 commit comments

Comments
 (0)