Skip to content

Commit

Permalink
fix date parsing bug with missing milliseconds
Browse files Browse the repository at this point in the history
  • Loading branch information
vzickner committed Sep 23, 2024
1 parent 6fab0f3 commit 64c70cd
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 1 deletion.
5 changes: 4 additions & 1 deletion external-worker/flowable/external_worker_client/utils.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
from datetime import datetime

def parse_date_time(date):
return datetime.strptime(date, "%Y-%m-%dT%H:%M:%S.%fZ") if date is not None else None
try:
return datetime.strptime(date, "%Y-%m-%dT%H:%M:%S.%fZ") if date is not None else None
except ValueError:
return datetime.strptime(date, "%Y-%m-%dT%H:%M:%SZ") if date is not None else None
15 changes: 15 additions & 0 deletions external-worker/tests/test_utils.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
import datetime
import unittest

from flowable.external_worker_client.utils import parse_date_time


class TestUtils(unittest.TestCase):

def test_parse_date_time_with_millis(self):
date = parse_date_time('2024-09-23T15:23:08.123Z')
self.assertEqual(datetime.datetime(2024, 9, 23, 15, 23, 8, 123000), date)

def test_parse_date_time_without_millis(self):
date = parse_date_time('2024-09-23T15:23:08Z')
self.assertEqual(datetime.datetime(2024, 9, 23, 15, 23, 8, 0), date)

0 comments on commit 64c70cd

Please sign in to comment.