Skip to content

datetime.now doesn't respect timezones #10

@AlecRosenbaum

Description

@AlecRosenbaum

FreezeTime doesn't respect timezones in datetime.datetime.now.

See the below failing test case:

def test_freezefrog_now_no_tz():
    assert datetime.datetime.now(pytz.utc).tzinfo == pytz.utc

    with freezefrog.FreezeTime(
        datetime.datetime.now(), tz_delta=datetime.timedelta(seconds=0)
    ):
        assert datetime.datetime.now(pytz.utc).tzinfo == pytz.utc
        # fails

Conversely, if it's frozen to a tz-aware datetime then an aware datetime is always returned:

def test_freezefrog_now_tz():
    assert datetime.datetime.now().tzinfo is None

    with freezefrog.FreezeTime(
        datetime.datetime.now(pytz.utc), tz_delta=datetime.timedelta(seconds=0)
    ):
        assert datetime.datetime.now(pytz.utc).tzinfo is None
        # fails

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions