schet/pkg/delo_lib/delo_lib.go

39 строки
717 Б
Go

package delo_lib
import (
"errors"
"strconv"
"strings"
)
func ДатувКвартал(in string) (int, error) {
parts := strings.Split(in, ".")
if len(parts) < 3 {
return 0, errors.New("формат даты")
}
месяц, err := strconv.ParseInt(parts[1], 10, 64)
if err != nil {
return 0, err
}
квартал, err := МесяцвКвартал(месяц)
if err != nil {
return 0, err
}
return квартал, nil
}
func МесяцвКвартал(in int64) (int, error) {
if in < 1 || in > 12 {
return 0, errors.New("неправильный месяц")
}
switch in {
case 1, 2, 3:
return 1, nil
case 4, 5, 6:
return 2, nil
case 7, 8, 9:
return 3, nil
}
return 4, nil
}