ibexy
ibexy

Reputation: 611

How to supress warning: Datetime with no tzinfo will be considered UTC?

I have the following code which am using to monitor Azure ADF pipeline runs. The code uses 'RunFilterParameters' to apply a date range filter in extracting run results:

filter_params = RunFilterParameters(last_updated_after=datetime.now() - timedelta(1), last_updated_before=datetime.now() + timedelta(1))     
query_response = adf_client.activity_runs.query_by_pipeline_run(resource_group, adf_name, row.latest_runid,filter_params)

The above works ok, however it is throwing a warning:

Datetime with no tzinfo will be considered UTC

Not sure how to add timezone to this or just suppress the warning? Please help.

Upvotes: 2

Views: 2449

Answers (1)

FObersteiner
FObersteiner

Reputation: 25554

"no tzinfo" means that naive datetime is used, i.e. datetime with no defined time zone. Since Python assumes local time by default for naive datetime, this can cause unexpected behavior.

In the code example given in the question, you can create an aware datetime object (with tz specified to be UTC) like

from datetime import datetime, timezone
# and use
datetime.now(timezone.utc)

If you need to use another time zone than UTC, have a look at zoneinfo (Python 3.9+ standard library).

Upvotes: 2

Related Questions