Datetime Utilities
calc_future_dt(delta, dt=None, tz=None)
Calculate future datetime by adding delta time to current or specified datetime.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
delta
|
(timedelta | int, required)
|
Delta time to add to current or specified datetime. |
required |
dt
|
datetime | None
|
Datetime before adding delta time. Defaults to None. |
None
|
tz
|
(ZoneInfo | tzinfo, str, None)
|
Timezone info. Defaults to None. |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Calculated future datetime. |
Source code in src/potato_util/dt.py
convert_tz(dt, tz, warn_mode=WarnEnum.ALWAYS)
Convert datetime object to another timezone.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dt
|
(datetime, required)
|
Datetime object to convert. |
required |
tz
|
(ZoneInfo | tzinfo | str, required)
|
Timezone info to convert. |
required |
warn_mode
|
WarnEnum | str
|
Warning mode. Defaults to WarnEnum.ALWAYS. |
ALWAYS
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
ValueError
|
If |
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Datetime object which has been converted to another timezone. |
Source code in src/potato_util/dt.py
dt_to_iso(dt, sep='T', warn_mode=WarnEnum.IGNORE)
Convert datetime object to ISO 8601 format.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dt
|
(datetime, required)
|
Datetime object. |
required |
sep
|
str
|
Separator between date and time. Defaults to "T". |
'T'
|
warn_mode
|
WarnEnum | str
|
Warning mode. Defaults to WarnEnum.IGNORE. |
IGNORE
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
ValueError
|
If |
ValueError
|
If |
Returns:
| Name | Type | Description |
|---|---|---|
str |
str
|
Datetime string in ISO 8601 format. |
Source code in src/potato_util/dt.py
dt_to_ts(dt, unit=TSUnitEnum.SECONDS)
Convert datetime to timestamp.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dt
|
(datetime, required)
|
Datetime object to convert. |
required |
unit
|
TSUnitEnum | str
|
Type of timestamp unit. Defaults to |
SECONDS
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
Returns:
| Name | Type | Description |
|---|---|---|
int |
int
|
Converted timestamp. |
Source code in src/potato_util/dt.py
now_dt(tz=None)
Get current datetime in specified timezone with tzinfo.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
tz
|
ZoneInfo | tzinfo | str | None
|
Timezone info. Defaults to None (UTC timezone). |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Current datetime in specified timezone with tzinfo. |
Source code in src/potato_util/dt.py
now_local_dt()
Get current datetime in local timezone with tzinfo.
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Current datetime in local timezone with tzinfo. |
now_ts(unit=TSUnitEnum.SECONDS)
Get current timestamp in UTC timezone.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
unit
|
TSUnitEnum | str
|
Type of timestamp unit. Defaults to TSUnitEnum.SECONDS. |
SECONDS
|
Raises:
| Type | Description |
|---|---|
ValueError
|
If |
Returns:
| Name | Type | Description |
|---|---|---|
int |
int
|
Current timestamp. |
Source code in src/potato_util/dt.py
now_utc_dt()
Get current datetime in UTC timezone with tzinfo.
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Current datetime in UTC timezone with tzinfo. |
replace_tz(dt, tz)
Add or replace timezone info to datetime object.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
dt
|
(datetime, required)
|
Datetime object. |
required |
tz
|
(ZoneInfo | tzinfo | str, required)
|
Timezone info. |
required |
Raises:
| Type | Description |
|---|---|
ZoneInfoNotFoundError
|
If |
Returns:
| Name | Type | Description |
|---|---|---|
datetime |
datetime
|
Datetime object with timezone info. |