pdstools.utils.cdh_utils._dates¶
Date and time helpers for Pega-formatted timestamps.
Functions¶
|
Parses Pega DateTime formats. |
|
Convert from a Pega date-time string. |
|
Convert to a Pega date-time string |
|
Module Contents¶
- parse_pega_date_time_formats(timestamp_col='SnapshotTime', timestamp_fmt: str | None = None, timestamp_dtype: polars._typing.PolarsTemporalType = pl.Datetime) polars.Expr¶
Parses Pega DateTime formats.
Supports commonly used formats:
“%Y-%m-%d %H:%M:%S”
“%Y%m%dT%H%M%S.%f %Z”
“%d-%b-%y”
“%d%b%Y:%H:%M:%S”
“%Y%m%d”
Removes timezones, and rounds to seconds, with a ‘ns’ time unit.
In the implementation, the last expression uses timestamp_fmt or %Y. This is a bit of a hack, because if we pass None, it tries to infer automatically. Inferring raises when it can’t find an appropriate format, so that’s not good.
- Parameters:
- Return type:
polars.Expr
- from_prpc_date_time(x: str, return_string: bool = False, use_timezones: bool = True) datetime.datetime | str¶
Convert from a Pega date-time string.
- Parameters:
- Returns:
The converted date in datetime format or string.
- Return type:
Examples
>>> fromPRPCDateTime("20180316T134127.847 GMT") >>> fromPRPCDateTime("20180316T134127.847 GMT", True) >>> fromPRPCDateTime("20180316T184127.846") >>> fromPRPCDateTime("20180316T184127.846", True)
- to_prpc_date_time(dt: datetime.datetime) str¶
Convert to a Pega date-time string
- Parameters:
x (datetime.datetime) – A datetime object
dt (datetime.datetime)
- Returns:
A string representation in the format used by Pega
- Return type:
Examples
>>> toPRPCDateTime(datetime.datetime.now())
- _get_start_end_date_args(data: polars.Series | polars.LazyFrame | polars.DataFrame, start_date: datetime.datetime | None = None, end_date: datetime.datetime | None = None, window: int | datetime.timedelta | None = None, datetime_field='SnapshotTime')¶
- Parameters:
data (polars.Series | polars.LazyFrame | polars.DataFrame)
start_date (datetime.datetime | None)
end_date (datetime.datetime | None)
window (int | datetime.timedelta | None)