Functions | |
| bool | _datetime_ambiguous (dt.datetime dattim) |
| bool | _datetime_exists (dt.datetime dattim) |
| dt.timedelta | _dst_offset_diff (dt.datetime dattim) |
| str | _get_timestring (float timediff, int precision=1) |
| int|None | _lower_bound (list[int] arr, int cmp) |
| dt.datetime | as_local (dt.datetime dattim) |
| float | as_timestamp (dt.datetime|str dt_value) |
| dt.datetime | as_utc (dt.datetime dattim) |
| zoneinfo.ZoneInfo|None | async_get_time_zone (str time_zone_str) |
| dt.datetime | find_next_time_expression_time (dt.datetime now, list[int] seconds, list[int] minutes, list[int] hours) |
| str | get_age (dt.datetime date, int precision=1) |
| dt.tzinfo | get_default_time_zone () |
| str | get_time_remaining (dt.datetime date, int precision=1) |
| zoneinfo.ZoneInfo|None | get_time_zone (str time_zone_str) |
| dt.datetime | now (dt.tzinfo|None time_zone=None) |
| dt.date|None | parse_date (str dt_str) |
| dt.datetime|None | parse_datetime (str dt_str) |
| dt.datetime|None | parse_datetime (str dt_str, *bool raise_on_error=False) |
| dt.datetime|None | parse_datetime (str dt_str, *Literal[False] raise_on_error) |
| dt.datetime | parse_datetime (str dt_str, *Literal[True] raise_on_error) |
| dt.timedelta|None | parse_duration (str value) |
| dt.time|None | parse_time (str time_str) |
| list[int] | parse_time_expression (Any parameter, int min_value, int max_value) |
| None | set_default_time_zone (dt.tzinfo time_zone) |
| dt.datetime | start_of_local_day (dt.date|dt.datetime|None dt_or_d=None) |
| float | utc_to_timestamp (dt.datetime utc_dt) |
Variables | |
| __doc__ | |
| string | DATE_STR_FORMAT = "%Y-%m-%d" |
| DATETIME_RE | |
| EPOCHORDINAL = dt.datetime(1970, 1, 1).toordinal() | |
| ISO8601_DURATION_RE | |
| POSTGRES_INTERVAL_RE | |
| STANDARD_DURATION_RE | |
| tzinfo | |
| UTC = dt.UTC | |
| utc_from_timestamp = partial(dt.datetime.fromtimestamp, tz=UTC) | |
| utcnow = partial(dt.datetime.now, UTC) | |
Helper methods to handle the time in Home Assistant.
|
private |
|
private |
|
private |
|
private |
|
private |
| dt.datetime homeassistant.util.dt.as_local | ( | dt.datetime | dattim | ) |
| float homeassistant.util.dt.as_timestamp | ( | dt.datetime | str | dt_value | ) |
| dt.datetime homeassistant.util.dt.as_utc | ( | dt.datetime | dattim | ) |
| zoneinfo.ZoneInfo | None homeassistant.util.dt.async_get_time_zone | ( | str | time_zone_str | ) |
| dt.datetime homeassistant.util.dt.find_next_time_expression_time | ( | dt.datetime | now, |
| list[int] | seconds, | ||
| list[int] | minutes, | ||
| list[int] | hours | ||
| ) |
Find the next datetime from now for which the time expression matches. The algorithm looks at each time unit separately and tries to find the next one that matches for each. If any of them would roll over, all time units below that are reset to the first matching value. Timezones are also handled (the tzinfo of the now object is used), including daylight saving time.
| str homeassistant.util.dt.get_age | ( | dt.datetime | date, |
| int | precision = 1 |
||
| ) |
| dt.tzinfo homeassistant.util.dt.get_default_time_zone | ( | ) |
| str homeassistant.util.dt.get_time_remaining | ( | dt.datetime | date, |
| int | precision = 1 |
||
| ) |
| zoneinfo.ZoneInfo | None homeassistant.util.dt.get_time_zone | ( | str | time_zone_str | ) |
| dt.datetime homeassistant.util.dt.now | ( | dt.tzinfo | None | time_zone = None | ) |
| dt.date | None homeassistant.util.dt.parse_date | ( | str | dt_str | ) |
| dt.datetime | None homeassistant.util.dt.parse_datetime | ( | str | dt_str | ) |
| dt.datetime | None homeassistant.util.dt.parse_datetime | ( | str | dt_str, |
| *bool | raise_on_error = False |
||
| ) |
Parse a string and return a datetime.datetime. This function supports time zone offsets. When the input contains one, the output uses a timezone with a fixed offset from UTC. Raises ValueError if the input is well formatted but not a valid datetime. If the input isn't well formatted, returns None if raise_on_error is False or raises ValueError if it's True.
| dt.datetime | None homeassistant.util.dt.parse_datetime | ( | str | dt_str, |
| *Literal[False] | raise_on_error | ||
| ) |
| dt.datetime homeassistant.util.dt.parse_datetime | ( | str | dt_str, |
| *Literal[True] | raise_on_error | ||
| ) |
| dt.timedelta | None homeassistant.util.dt.parse_duration | ( | str | value | ) |
| dt.time | None homeassistant.util.dt.parse_time | ( | str | time_str | ) |
| list[int] homeassistant.util.dt.parse_time_expression | ( | Any | parameter, |
| int | min_value, | ||
| int | max_value | ||
| ) |
| None homeassistant.util.dt.set_default_time_zone | ( | dt.tzinfo | time_zone | ) |
| dt.datetime homeassistant.util.dt.start_of_local_day | ( | dt.date | dt.datetime | None | dt_or_d = None | ) |
| float homeassistant.util.dt.utc_to_timestamp | ( | dt.datetime | utc_dt | ) |
| homeassistant.util.dt.DATETIME_RE |
| homeassistant.util.dt.EPOCHORDINAL = dt.datetime(1970, 1, 1).toordinal() |
| homeassistant.util.dt.ISO8601_DURATION_RE |
| homeassistant.util.dt.POSTGRES_INTERVAL_RE |
| homeassistant.util.dt.STANDARD_DURATION_RE |
| homeassistant.util.dt.utc_from_timestamp = partial(dt.datetime.fromtimestamp, tz=UTC) |