excel-export/cmd/cmd/uitls.go

38 lines
893 B
Go

package cmd
import (
"fmt"
"github.com/spf13/cobra"
flag "github.com/spf13/pflag"
"os"
"time"
)
func MustFlagsDateTime(cmd *cobra.Command, key string) time.Time {
t, err := ParseFlagsDateTime(cmd.Flags(), key)
cobra.CheckErr(err)
return *t
}
func ParseFlagsDateTime(set *flag.FlagSet, key string) (*time.Time, error) {
val, err := set.GetString(key)
if err != nil {
return nil, fmt.Errorf("获取参数异常:%w", err)
}
beginTime, err := time.ParseInLocation("2006-01-02 15:04:05", val, time.Local)
if err != nil {
return nil, fmt.Errorf("不是有效的时间格式:%w", err)
}
return &beginTime, nil
}
func CmdOutput(cmd *cobra.Command, format string, opts ...interface{}) {
fmt.Fprintf(cmd.OutOrStdout(), format, opts...)
}
func CmdError(cmd *cobra.Command, format string, opts ...interface{}) {
fmt.Fprintf(cmd.OutOrStderr(), format, opts...)
os.Exit(1)
}