C++ Native Functions: spl.time
- public timestamp add(timestamp ts, float64 diff)
-
Add a time difference in seconds (as float64) to a timestamp.
- Parameters
-
- ts
-
Start time.
- diff
-
Difference to add.
- Returns
-
The timestamp for ts + diff.
- public timestamp add(timestamp ts, int64 diff)
-
Add a time difference in nanoseconds (as int64) to a timestamp.
- Parameters
-
- ts
-
Start time.
- diff
-
Difference to add.
- Returns
-
The timestamp for ts + diff.
- public timestamp createTimestamp (int64 secs, uint32 nanos)
-
Create a timestamp given the number of seconds and nanoseconds elapsed since the Epoch (00:00:00 UTC, January 1, 1970).
- Parameters
-
- secs
-
Number of seconds.
- nanos
-
Number of nanoseconds.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp createTimestamp (int64 secs, uint32 nanos, int32 mid)
-
Create a timestamp given the number of seconds and nanoseconds elapsed since the Epoch (00:00:00 UTC, January 1, 1970), and a machine identifier that identifies the computer where the time measurement was taken.
- Parameters
-
- secs
-
Number of seconds.
- nanos
-
Number of nanoseconds.
- mid
-
Machine identifier.
- Returns
-
The timestamp for the specified point in time and machine identifier.
- public rstring ctime (timestamp time)
-
Convert a timestamp to a date and time string, using the current timezone.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The string representation of the date and time in the form "Wed Jun 30 21:49:08 1993n", using the C locale.
- public uint32 day (timestamp time)
-
Extract the day of month from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The day component of the time (in the range [1,31]).
- public uint32 dayOfWeek (timestamp time)
-
Extract the day of week from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The day component of the time (in the range [0,6], 0 = Sunday).
- public uint32 dayOfYear (timestamp time)
-
Extract the day of year from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The day component of the time (in the range [0,365]).
- public int64 diffAsNanos(timestamp ts1, timestamp ts2)
-
Compute the difference between two timestamps in nanoseconds (as int64).
Note: Valid for ranges of 2^63 nanoseconds (292.47 years).
- Parameters
-
- ts1
-
First timestamp.
- ts2
-
Second timestamp.
- Returns
-
The difference ts1 - ts2 in nanoseconds.
- public float64 diffAsSecs(timestamp ts1, timestamp ts2)
-
Compute the difference between two timestamps in seconds (as float64).
Note: Differences of less than 104.24 days retain nanosecond accuracy. Larger differences retain less accuracy.
- Parameters
-
- ts1
-
First timestamp.
- ts2
-
Second timestamp.
- Returns
-
The difference ts1 - ts2 in seconds.
- public timestamp fromDecimal128(decimal128 t)
-
Convert to a timestamp a decimal128 value that preserves the precision of a timestamp, and represents the time as the number of seconds (including fractions) elapsed since the Epoch (00:00:00 UTC, January 1, 1970).
- Parameters
-
- t
-
Time in seconds since the Epoch, as a decimal128 value.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public stateful int64 getCPUCounterInNanoSeconds()
-
Obtain the CPU counter, which is an indication of relative time, in nanoseconds.
Note: This function cannot be used for reliable time measurements across multiple processors.
- Returns
-
The current processor CPU counter in nanoseconds.
- public int32 getMachineId(timestamp t)
-
Extract the machine identifier from a timestamp. The machine identifier is used to identify the computer where the time measurement was taken.
- Parameters
-
- t
-
The input timestamp.
- Returns
-
The 'machine identifier' part of the timestamp.
- public uint32 getNanoseconds(timestamp t)
-
Extract the part of a timestamp that represents the number of namoseconds elapsed since a whole number of seconds since the Epoch (00:00:00 UTC, January 1, 1970).
- Parameters
-
- t
-
The input timestamp.
- Returns
-
The 'nanoseconds' part of the timestamp.
- public int64 getSeconds(timestamp t)
-
Extract the part of a timestamp that represents the number of whole seconds elapsed since the Epoch (00:00:00 UTC, January 1, 1970).
- Parameters
-
- t
-
The input timestamp.
- Returns
-
The 'seconds' part of the timestamp.
- public stateful timestamp getTimestamp()
-
Get the current wall clock time as a timestamp.
Note: This function uses gettimeofday system call on Linux.
- Returns
-
The timestamp, with the machine identifier set to zero.
- Throws
-
- SPLRuntimeException
-
If unable to create a timestamp.
- public stateful float64 getTimestampInSecs()
-
Get the current wall clock time as the number of seconds (including fractions) elapsed since the Epoch (00:00:00 UTC, January 1, 1970).
Note: This function uses gettimeofday system call on Linux.
- Returns
-
Time in seconds since the Epoch, as a float64 value.
- Throws
-
- SPLRuntimeException
-
If unable to create a timestamp.
- public uint32 gmday (timestamp time)
-
Extract the day of month from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The day component of the time (in the range [1,31]).
- public uint32 gmdayOfWeek (timestamp time)
-
Extract the day of week from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The day component of the time (in the range [0,6], 0 = Sunday).
- public uint32 gmdayOfYear (timestamp time)
-
Extract the day of year from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The day component of the time (in the range [0,365]).
- public uint32 gmhour (timestamp time)
-
Extract the hour from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The hour component of the time (in the range [0,23]).
- public uint32 gmminute (timestamp time)
-
Extract the minute from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The minute component of the time (in the range [0,59]).
- public uint32 gmmonth (timestamp time)
-
Extract the month from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The month component of the time (in the range [0,11]).
- public uint32 gmsecond (timestamp time)
-
Extract the second from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The second component of the time (in the range [0,61]).
- public void gmtime (timestamp time, mutable tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> result)
-
Convert a timestamp to a broken-down time (using the Sys.tm type), using the UTC timezone.
- Parameters
-
- time
-
The input timestamp.
- result
-
Tuple to contain the broken-down time.
- public uint32 gmyear (timestamp time)
-
Extract the year from a timestamp, using the UTC timezone.
Note: This function uses the POSIX gmtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The year component of the time.
- public uint32 hour (timestamp time)
-
Extract the hour from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The hour component of the time (in the range [0,23]).
- public uint32 minute (timestamp time)
-
Extract the minute from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The minute component of the time (in the range [0,59]).
- public uint32 month (timestamp time)
-
Extract the month from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The month component of the time (in the range [0,11]).
- public uint32 second (timestamp time)
-
Extract the second from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The second component of the time (in the range [0,61]).
- public rstring strftime (tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> time, rstring format)
-
Convert a broken-down time (using the Sys.tm type) to a date and time string, using strftime.
Note: This function is POSIX compliant, and uses the current locale.
- Parameters
-
- time
-
The broken-down time.
- format
-
Date and time format string (see the system man page for strftime).
- Returns
-
The string representation of the broken-down time.
- public void strptime (rstring dateTime, rstring format, mutable tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> result, mutable uint32 numCharsProcessed)
-
Convert a date and time string to a broken-down time (using the Sys.tm type), using strptime.
Note: This function is POSIX compliant, and uses the current locale.
- Parameters
-
- dateTime
-
The string representation of the date and time.
- format
-
Date and time format string (see the system man page for strptime).
- result
-
The broken-down time corresponding to the date and time string.
- numCharsProcessed
-
Number of characters successfully consumed from dateTime.
- public void time (timestamp time, mutable tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> result)
-
Convert a timestamp to a broken-down time (using the Sys.tm type), using the current timezone.
- Parameters
-
- time
-
The input timestamp.
- result
-
Tuple to contain the broken-down time.
- public void time (timestamp time, rstring tzone, mutable tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> result)
-
Convert a timestamp to a broken-down time (using the Sys.tm type), using a specified timezone.
- Parameters
-
- time
-
The input timestamp.
- tzone
-
The POSIX format timezone to use for the conversion, for example, "UTC-7".
- result
-
Tuple to contain the broken-down time.
- public timestamp timeStringToTimestamp (rstring dmy, rstring hmsmilli, boolean useLocaleMonth)
-
Convert date and time strings into a timestamp, using the current timezone.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- useLocaleMonth
-
If 'true', the current locale is used for month names. If 'false', the C locale is assumed. The performance of timeStringToTimestamp() is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringToTimestamp (rstring dmy, rstring hmsmilli, rstring tmzone, boolean useLocaleMonth)
-
Convert date and time strings into a timestamp, using the specified timezone.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- tmzone
-
The POSIX format timezone to use for the conversion, for example, "UTC-7".
- useLocaleMonth
-
If 'true', the current locale is used for month names. If 'false', the C locale is assumed. The performance of timeStringToTimestamp is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringToTimestamp (ustring dmy, ustring hmsmilli, boolean useLocaleMonth)
-
Convert date and time strings into a timestamp, using the current timezone.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- useLocaleMonth
-
If 'true', the current locale is used for month names. If 'false', the C locale is assumed. The performance of timeStringToTimestamp() is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringToTimestamp (ustring dmy, ustring hmsmilli, ustring tmzone, boolean useLocaleMonth)
-
Convert date and time strings into a timestamp, using the specified timezone.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- tmzone
-
The POSIX format timezone to use for the conversion, for example, "UTC-7".
- useLocaleMonth
-
If 'true', the current locale is used for month names. If 'false', the C locale is assumed. The performance of timeStringToTimestamp is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringtoTimestamp (rstring dmy, rstring hmsmilli, boolean useLocaleMonth)
-
DEPRECATED. Converts date and time strings into a timestamp, using the current timezone.
Note: DEPRECATED. Please use timeStringToTimestamp instead.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- useLocaleMonth
-
If 'true', current locale is used for month names. If 'false', C locale is assumed. The performance of timeStringToTimestamp is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringtoTimestamp (rstring dmy, rstring hmsmilli, rstring tmzone, boolean useLocaleMonth)
-
DEPRECATED. Converts date and time strings into a timestamp, using the specified timezone.
Note: DEPRECATED. Please use timeStringToTimestamp instead.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- tmzone
-
The POSIX format timezone to use for the conversion, for example, "UTC-7".
- useLocaleMonth
-
If 'true', current locale is used for month names. If 'false', C locale is assumed. The performance of timeStringToTimestamp is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringtoTimestamp (ustring dmy, ustring hmsmilli, boolean useLocaleMonth)
-
DEPRECATED. Converts date and time strings into a timestamp, using the current timezone.
Note: DEPRECATED. Please use timeStringToTimestamp instead.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- useLocaleMonth
-
If 'true', current locale is used for month names. If 'false', C locale is assumed. The performance of timeStringToTimestamp is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp timeStringtoTimestamp (ustring dmy, ustring hmsmilli, ustring tmzone, boolean useLocaleMonth)
-
DEPRECATED. Converts date and time strings into a timestamp, using the specified timezone.
Note: DEPRECATED. Please use timeStringToTimestamp instead.
- Parameters
-
- dmy
-
A string with a format of the form "04-OCT-2005".
- hmsmilli
-
A string with a format of the form "14:18:19.324".
- tmzone
-
The POSIX format timezone to use for the conversion, for example, "UTC-7".
- useLocaleMonth
-
If 'true', current locale is used for month names. If 'false', C locale is assumed. The performance of timeStringToTimestamp is greater with useLocaleMonth set to 'false'.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public decimal128 toDecimal128(timestamp ts)
-
Convert a timestamp to a decimal128 value that preserves the precision of the timestamp, and represents the time as the number of seconds (including fractions) elapsed since the Epoch (00:00:00 UTC, January 1, 1970).
- Parameters
-
- ts
-
Timestamp.
- Returns
-
Time in seconds since the Epoch, as a decimal128 value.
- <string T> public timestamp toTimestamp (enum {YYYYMMDDhhmmss,YYYY_MM_DD_hh_mm_ss,MM_DD_YYYY_hh_mm_ss,DD_MM_YYYY_hh_mm_ss,YYYY_MM_DD_hh_mm_ss_mmm,MM_DD_YYYY_hh_mm_ss_mmm,DD_MM_YYYY_hh_mm_ss_mmm} ftype, T str)
-
Converts a date and time string into a timestamp, using the current timezone.
Supported formats (where "YYYY", "MM", "DD", "hh", "mm", "ss" indicate digital values of the year, month, day, hour, minute, second, respectively):- Sys.YYYYMMDDhhmmss: "YYYYMMDDhhmmss"
- Sys.YYYY_MM_DD_hh_mm_ss: "YYYY-MM-DD hh:mm:ss" (any separator can be used)
- Sys.MM_DD_YYYY_hh_mm_ss: "MM-DD-YYYY hh:mm:ss" (any separator can be used)
- Sys.DD_MM_YYYY_hh_mm_ss: "DD-MM-YYYY hh:mm:ss" (any separator can be used)
- Sys.YYYY_MM_DD_hh_mm_ss_mmm: "YYYY-MM-DD hh:mm:ss.mmm" (any separator can be used)
- Sys.MM_DD_YYYY_hh_mm_ss_mmm: "MM-DD-YYYY hh:mm:ss.mmm" (any separator can be used)
- Sys.DD_MM_YYYY_hh_mm_ss_mmm: "DD-MM-YYYY hh:mm:ss.mmm" (any separator can be used)
- Parameters
-
- ftype
-
The format of the string (for example, Sys.YYYY_MM_DD_hh_mm_ss_mmm).
- str
-
A string with the specified format.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- <string T> public timestamp toTimestamp (enum {YYYYMMDDhhmmss,YYYY_MM_DD_hh_mm_ss,MM_DD_YYYY_hh_mm_ss,DD_MM_YYYY_hh_mm_ss,YYYY_MM_DD_hh_mm_ss_mmm,MM_DD_YYYY_hh_mm_ss_mmm,DD_MM_YYYY_hh_mm_ss_mmm} ftype, T str, T tmzone)
-
Converts a date and time string into a timestamp, using the specified timezone.
Supported formats (where "YYYY", "MM", "DD", "hh", "mm", "ss" indicate digital values of the year, month, day, hour, minute, second, respectively):- Sys.YYYYMMDDhhmmss: "YYYYMMDDhhmmss"
- Sys.YYYY_MM_DD_hh_mm_ss: "YYYY-MM-DD hh:mm:ss" (any separator can be used)
- Sys.MM_DD_YYYY_hh_mm_ss: "MM-DD-YYYY hh:mm:ss" (any separator can be used)
- Sys.DD_MM_YYYY_hh_mm_ss: "DD-MM-YYYY hh:mm:ss" (any separator can be used)
- Sys.YYYY_MM_DD_hh_mm_ss_mmm: "YYYY-MM-DD hh:mm:ss.mmm" (any separator can be used)
- Sys.MM_DD_YYYY_hh_mm_ss_mmm: "MM-DD-YYYY hh:mm:ss.mmm" (any separator can be used)
- Sys.DD_MM_YYYY_hh_mm_ss_mmm: "DD-MM-YYYY hh:mm:ss.mmm" (any separator can be used)
- Parameters
-
- ftype
-
The format of the string (for example, Sys.YYYY_MM_DD_hh_mm_ss_mmm).
- str
-
A string with the specified format.
- tmzone
-
The POSIX format timezone to use for the conversion, for example, "UTC-7".
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp toTimestamp (tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> time)
-
Convert a broken-down time (using the Sys.tm type) into a timestamp.
- Parameters
-
- time
-
A tuple containing the broken-down time.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public timestamp toTimestamp (tuple<int32 sec, int32 min, int32 hour, int32 mday, int32 mon, int32 year, int32 wday, int32 yday, int32 isdst, int32 gmtoff, rstring zone> time,boolean defaultZone)
-
Convert a broken-down time (using the Sys.tm type) into a timestamp, using a parameter to specify whether to use the default timezone.
- Parameters
-
- time
-
A tuple containing the broken-down time.
- defaultZone
-
If 'true', then use the default timezone.
- Returns
-
The timestamp for the specified point in time, with the machine identifier set to zero.
- public uint32 year (timestamp time)
-
Extract the year from a timestamp, using the current timezone.
Note: This function uses the POSIX localtime_r routine.
- Parameters
-
- time
-
The input timestamp.
- Returns
-
The year component of the time.