mz_expr::func

Function timezone_timestamp

Source
pub fn timezone_timestamp(
    tz: Timezone,
    dt: NaiveDateTime,
) -> Result<CheckedTimestamp<DateTime<Utc>>, EvalError>
Expand description

Converts the timestamp dt, which is assumed to be in the time of the timezone tz to a timestamptz in UTC. This operation is fallible because certain timestamps at timezones that observe DST are simply impossible or ambiguous. In case of ambiguity (when a hour repeats) we will prefer the latest variant, and when an hour is impossible, we will attempt to fix it by advancing it. For example, EST and 2020-11-11T12:39:14 would return 2020-11-11T17:39:14Z. A DST observing timezone like America/New_York would cause the following DST anomalies: 2020-11-01T00:59:59 -> 2020-11-01T04:59:59Z and 2020-11-01T01:00:00 -> 2020-11-01T06:00:00Z 2020-03-08T02:59:59 -> 2020-03-08T07:59:59Z and 2020-03-08T03:00:00 -> 2020-03-08T07:00:00Z