Skip to content

DeepDiff cannot distinguish between datetime timezones #466

@iusedmyimagination

Description

@iusedmyimagination

DeepDiff reports all datetime timezones as equal

import datetime
import deepdiff

a = datetime.timezone.utc
b = datetime.timezone(datetime.timedelta(hours=1))
c = datetime.timezone(datetime.timedelta(hours=2))
d = datetime.timezone(datetime.timedelta(hours=1))

deepdiff.DeepDiff(a, b)
Out: {}

a == b
Out: False

deepdiff.DeepDiff(a, c)
Out: {}

a == c
Out: False

deepdiff.DeepDiff(b, c)
Out: {}

b == c
Out: False

b == d
Out: True

deepdiff.DeepDiff(b, d)
Out: {} # as expected

Expected behavior
DeepDiff of each distinct pair of a, b, c should be non-empty.

OS, DeepDiff version and Python version (please complete the following information):

  • OS: Mac OS
  • Version 14.4.1
  • Python Version 3.12.12
  • DeepDiff Version 7.0.1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions