Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

1234567891011121314151617181920212223242526272829303132333435363738
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package context
  4. import (
  5. "strings"
  6. "time"
  7. )
  8. // GetQueryBeforeSince return parsed time (unix format) from URL query's before and since
  9. func GetQueryBeforeSince(ctx *Base) (before, since int64, err error) {
  10. before, err = parseFormTime(ctx, "before")
  11. if err != nil {
  12. return 0, 0, err
  13. }
  14. since, err = parseFormTime(ctx, "since")
  15. if err != nil {
  16. return 0, 0, err
  17. }
  18. return before, since, nil
  19. }
  20. // parseTime parse time and return unix timestamp
  21. func parseFormTime(ctx *Base, name string) (int64, error) {
  22. value := strings.TrimSpace(ctx.FormString(name))
  23. if len(value) != 0 {
  24. t, err := time.Parse(time.RFC3339, value)
  25. if err != nil {
  26. return 0, err
  27. }
  28. if !t.IsZero() {
  29. return t.Unix(), nil
  30. }
  31. }
  32. return 0, nil
  33. }