优化代码/删除不需要的代码

This commit is contained in:
刘祥超
2022-10-14 10:03:29 +08:00
parent 5d4da6cccb
commit b0b6b5984f
42 changed files with 554 additions and 1256 deletions

View File

@@ -3,6 +3,7 @@ package utils
import (
"fmt"
"github.com/TeaOSLab/EdgeAPI/internal/errors"
"github.com/TeaOSLab/EdgeAPI/internal/utils/regexputils"
"github.com/iwind/TeaGo/lists"
"github.com/iwind/TeaGo/types"
timeutil "github.com/iwind/TeaGo/utils/time"
@@ -25,18 +26,12 @@ type timeDayMinuteRange struct {
// RangeDays 计算日期之间的所有日期格式为YYYYMMDD
func RangeDays(dayFrom string, dayTo string) ([]string, error) {
ok, err := regexp.MatchString(`^\d{8}$`, dayFrom)
if err != nil {
return nil, err
}
var ok = regexputils.YYYYMMDD.MatchString(dayFrom)
if !ok {
return nil, errors.New("invalid 'dayFrom'")
}
ok, err = regexp.MatchString(`^\d{8}$`, dayTo)
if err != nil {
return nil, err
}
ok = regexputils.YYYYMMDD.MatchString(dayTo)
if !ok {
return nil, errors.New("invalid 'dayTo'")
}
@@ -73,18 +68,12 @@ func RangeDays(dayFrom string, dayTo string) ([]string, error) {
// RangeMonths 计算日期之间的所有月份格式为YYYYMM
func RangeMonths(dayFrom string, dayTo string) ([]string, error) {
ok, err := regexp.MatchString(`^\d{8}$`, dayFrom)
if err != nil {
return nil, err
}
var ok = regexputils.YYYYMMDD.MatchString(dayFrom)
if !ok {
return nil, errors.New("invalid 'dayFrom'")
}
ok, err = regexp.MatchString(`^\d{8}$`, dayTo)
if err != nil {
return nil, err
}
ok = regexputils.YYYYMMDD.MatchString(dayTo)
if !ok {
return nil, errors.New("invalid 'dayTo'")
}
@@ -276,3 +265,32 @@ func Range24HourTimes(everyMinutes int32) ([]string, error) {
return RangeTimes("0000", "2359", everyMinutes)
}
// LastDayInMonth 某月的最后一天
// month: YYYYMM
// 返回 YYYYMMDD
func LastDayInMonth(month string) (string, error) {
if !regexputils.YYYYMM.MatchString(month) {
return "", errors.New("invalid month '" + month + "'")
}
var year = types.Int(month[:4])
var monthInt = types.Int(month[4:])
return month + timeutil.Format("t", time.Date(year, time.Month(monthInt), 1, 0, 0, 0, 0, time.Local)), nil
}
// FixMonthMaxDay 修正日期最大值
func FixMonthMaxDay(day string) (string, error) {
if !regexputils.YYYYMMDD.MatchString(day) {
return "", errors.New("invalid day '" + day + "'")
}
maxDay, err := LastDayInMonth(day[:6])
if err != nil {
return "", err
}
if day > maxDay {
return maxDay, nil
}
return day, nil
}