DurationToSecondsString converts the specified duration to the number seconds it represents, formatted as a string.
GetTimestamp tries to parse given string as golang duration, then RFC3339 time and finally as a Unix timestamp. If any of these were successful, it returns a Unix timestamp as string otherwise returns the given value back. In case of duration input, the returned timestamp is computed as the given reference time minus the amount of the duration.
ParseTimestamps returns seconds and nanoseconds from a timestamp that has the format "%d.%09d", time.Unix(), int64(time.Nanosecond())) if the incoming nanosecond portion is longer or shorter than 9 digits it is converted to nanoseconds. The expectation is that the seconds and seconds will be used to create a time variable. For example:
seconds, nanoseconds, err := ParseTimestamp("1136073600.000000001",0) if err == nil since := time.Unix(seconds, nanoseconds)
returns seconds as def(aultSeconds) if value == ""