diff options
| author | Jeff Carr <[email protected]> | 2025-10-14 04:11:16 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-10-14 04:11:16 -0500 |
| commit | a63a82e78a047c8dde14f106117b3ce88f209775 (patch) | |
| tree | cadd3302dfb17816c496fbfc78744d8e5bcc21d8 /time.go | |
| parent | deefa630ab2f566d7ad9ee5fc04769d58a8f4c23 (diff) | |
easier to track by allowing nil
Diffstat (limited to 'time.go')
| -rw-r--r-- | time.go | 26 |
1 files changed, 18 insertions, 8 deletions
@@ -26,7 +26,7 @@ func Time(someTimeAgoOrLaterNotsure any) string { if len(guess) > 0 { return fmt.Sprintf("%-15s", guess) } - return FormatTime(t) + return FormatTime(*t) } func TimeLocal(someTimeAgoOrLaterNotsure any) string { @@ -43,26 +43,34 @@ func TimeLocal(someTimeAgoOrLaterNotsure any) string { } return "nope" } - return FormatTimeLocal(t) + return FormatTimeLocal(*t) } func GetTime(mightBeTimeMightNotBeTime any) (time.Time, error) { _, t, err := TimeCheck(mightBeTimeMightNotBeTime) - return t, err + if t == nil { + var emptyTime time.Time + return emptyTime, err + } + return *t, err } -func TimeCheck(maybeTime any) (string, time.Time, error) { +func TimeCheck(maybeTime any) (string, *time.Time, error) { var guess string - var t time.Time + var t *time.Time var err error switch v := maybeTime.(type) { case time.Time: // If the type is time.Time, 'v' is now a time.Time variable. - t = v + // t = v + return FormatTime(v), &v, err case string: // The type is string, so 'v' is a string variable. t, err = doTimeString(v) + if t != nil { + return "", t, err + } if err != nil { guess = v } @@ -71,7 +79,8 @@ func TimeCheck(maybeTime any) (string, time.Time, error) { // 'v' is a *timestamppb.Timestamp. We must convert it. // It's also good to check if it's a valid timestamp. if v.IsValid() { - t = v.AsTime() + newt := v.AsTime() + return FormatTime(newt), &newt, nil } else { err = errors.New("pb time invalid") } @@ -79,7 +88,8 @@ func TimeCheck(maybeTime any) (string, time.Time, error) { case timestamppb.Timestamp: // Handle the less common case of a value type instead of a pointer. if v.IsValid() { - t = v.AsTime() + newt := v.AsTime() + return FormatTime(newt), &newt, nil } default: err = errors.Join(err, NoTime) |
