Fix TS parsing for fractional values

Parse Unix timestamps that contains fractional part.

Signed-off-by: Matej Vasek <mvasek@redhat.com>
This commit is contained in:
Matej Vasek
2021-08-04 21:30:47 +02:00
parent 77f8c6549a
commit 8cbbbe6efe
2 changed files with 19 additions and 2 deletions

View File

@ -3,6 +3,7 @@ package util
import (
"encoding/json"
"fmt"
"math"
"os"
"os/user"
"path/filepath"
@ -530,9 +531,10 @@ func ParseInputTime(inputTime string) (time.Time, error) {
}
}
unixTimestamp, err := strconv.ParseInt(inputTime, 10, 64)
unixTimestamp, err := strconv.ParseFloat(inputTime, 64)
if err == nil {
return time.Unix(unixTimestamp, 0), nil
iPart, fPart := math.Modf(unixTimestamp)
return time.Unix(int64(iPart), int64(fPart*1_000_000_000)).UTC(), nil
}
// input might be a duration