MCPcopy Index your code
hub / github.com/larksuite/cli / parseTimeRangeRFC3339

Function parseTimeRangeRFC3339

shortcuts/task/task_query_helpers.go:72–115  ·  view source on GitHub ↗
(input string)

Source from the content-addressed store, hash-verified

70}
71
72func parseTimeRangeRFC3339(input string) (string, string, error) {
73 if strings.TrimSpace(input) == "" {
74 return "", "", nil
75 }
76
77 parts := strings.SplitN(input, ",", 2)
78 startInput := strings.TrimSpace(parts[0])
79 endInput := ""
80 if len(parts) == 2 {
81 endInput = strings.TrimSpace(parts[1])
82 }
83
84 var startTime, endTime string
85 var startSecInt, endSecInt int64
86 var hasStart, hasEnd bool
87 if startInput != "" {
88 startSec, err := parseTimeFlagSec(startInput, "start")
89 if err != nil {
90 return "", "", err
91 }
92 startSecInt, err = strconv.ParseInt(startSec, 10, 64)
93 if err != nil {
94 return "", "", errs.NewValidationError(errs.SubtypeInvalidArgument, "invalid start timestamp: %v", err)
95 }
96 hasStart = true
97 startTime = time.Unix(startSecInt, 0).Local().Format(time.RFC3339)
98 }
99 if endInput != "" {
100 endSec, err := parseTimeFlagSec(endInput, "end")
101 if err != nil {
102 return "", "", err
103 }
104 endSecInt, err = strconv.ParseInt(endSec, 10, 64)
105 if err != nil {
106 return "", "", errs.NewValidationError(errs.SubtypeInvalidArgument, "invalid end timestamp: %v", err)
107 }
108 hasEnd = true
109 endTime = time.Unix(endSecInt, 0).Local().Format(time.RFC3339)
110 }
111 if hasStart && hasEnd && startSecInt > endSecInt {
112 return "", "", errs.NewValidationError(errs.SubtypeInvalidArgument, "start time must be earlier than or equal to end time")
113 }
114 return startTime, endTime, nil
115}
116
117func formatTaskDateTimeMillis(msStr string) string {
118 if msStr == "" || msStr == "0" {

Callers 3

buildTasklistSearchBodyFunction · 0.85
buildTaskSearchBodyFunction · 0.85

Calls 3

NewValidationErrorFunction · 0.92
parseTimeFlagSecFunction · 0.85
FormatMethod · 0.80

Tested by 1