Function mz_expr::func::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