[FIX] Erased timezone in $toMillis implementation
#26
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Issue
I noticed when converting an ISO 8601 date with a valid timezone, the timezone component is replaced by UTC, which corrupts the actual timestamp.
Reproduction:
You get: 2025-01-01T01:00:00.000Z
While the expected value should be: 2025-01-01T00:00:00.000Z
Proposed solution
Just adding a check to see if the extracted date is timezone aware before using
dt.replace(tzinfo=datetime.timezone.utc).Do not hesitate if you have question or suggestions for some changes. Thank you in advance!
PS: Note none of the tests in
jsonatabase repository use another timezone than UTC, hence tests couldn't catch this case. I think it would be worth contributing to those tests as well. However the JS implementation does handle timezone changes correctly.