gsql_ts_to_epoch_seconds_legacy()
Converts a timestamp in canonical string format to Unix epoch time (seconds since Jan 1, 1970).
If the timestamp is invalid or earlier than 1970-01-01 00:00:00, the function returns a user-specified value (0 by default), ensuring backward compatibility and preventing exceptions.
We also have another timestamp function, gsql_ts_to_epoch_seconds(), which converts a timestamp to Unix epoch time (seconds since Jan 1st, 1970) and throws an exception instead of returning a user-specified value, if the input is not valid. For broader date range support, consider gsql_ts_to_epoch_seconds_signed().
Parameters
- timestamp
-
Required. The timestamp to convert to Unix epoch time. The timestamp parameter should be in one of the following formats:
-
"%Y-%m-%d %H:%M:%S" -
"%Y/%m/%d %H:%M:%S" -
"%Y-%m-%dT%H:%M:%S.000z"-
Text after the dot
.is ignored
-
-
- defaultTimestamp
-
Optional. If the timestamp is invalid (e.g., before
Jan 1st, 1970, or an invalid date format), it returns a user-specified value. The default is0.
Return type
uint64_t
-
Returns the epoch seconds for valid timestamps between
1970-01-01 00:00:00and9999-12-31 23:59:59. -
Returns
defaultTimestampfor abnormal times (pre-1970 or invalid).
Example
// Example with a valid date after 1970
gsql_ts_to_epoch_seconds_legacy("2022-06-30 22:08:28") -> 1656652105
// Example with a date before 1970 (returns default 0)
gsql_ts_to_epoch_seconds_legacy("1969-12-31 23:59:59") -> 0
// Example with a date before 1970 and a custom default timestamp
gsql_ts_to_epoch_seconds_legacy("1969-12-31 23:59:59", 999) -> 999
// Example with an invalid date (returns default 0) gsql_ts_to_epoch_seconds_legacy("2022-02-30 00:00:00") -> 0
|
Use this function if you want to maintain legacy behavior (prior to the availability of |