用不习惯也嫌麻烦每次都去操作时间,然后就自己写了个时间工具类
package timeutilimport ( "time"
) func New ( ) * TimeUtil { return & TimeUtil{ }
}
type TimeUtil struct { }
func ( tu * TimeUtil) GetFormattedDate ( t time. Time) string { return t. Format ( "2006-01-02" )
}
func ( tu * TimeUtil) GetFormattedTime ( t time. Time) string { return t. Format ( "15:04:05" )
}
func ( tu * TimeUtil) GetFormattedDateTime ( t time. Time) string { return t. Format ( "2006-01-02 15:04:05" )
}
func ( tu * TimeUtil) GetWeekday ( t time. Time) string { return t. Weekday ( ) . String ( )
}
func ( tu * TimeUtil) IsLeapYear ( year int ) bool { return year% 4 == 0 && ( year% 100 != 0 || year% 400 == 0 )
}
func ( tu * TimeUtil) ParseDateFromString ( dateString string ) ( time. Time, error ) { layout := "2006-01-02" t, err := time. Parse ( layout, dateString) if err != nil { return time. Time{ } , err} return t, nil
}
func ( tu * TimeUtil) ParseTimeFromString ( timeString string ) ( time. Time, error ) { layout := "15:04:05" t, err := time. Parse ( layout, timeString) if err != nil { return time. Time{ } , err} return t, nil
}
func ( tu * TimeUtil) ParseDateTimeFromString ( dateTimeString string ) ( time. Time, error ) { layout := "2006-01-02 15:04:05" t, err := time. Parse ( layout, dateTimeString) if err != nil { return time. Time{ } , err} return t, nil
}
func ( tu * TimeUtil) FormatTimeString ( inputTime, format string ) ( string , error ) { format = rule ( format) layout := "2006-01-02 15:04:05" t, err := time. Parse ( layout, inputTime) if err != nil { return "" , err} formattedTime := t. Format ( format) return formattedTime, nil
}
func ( tu * TimeUtil) FormatTimeStringZ ( inputTime, format string ) ( string , error ) { format = rule ( format) t, err := time. Parse ( time. RFC3339, inputTime) if err != nil { return "" , err} formattedTime := t. Format ( format) return formattedTime, nil
}
func rule ( format string ) ( str string ) { if format == "1" { format = "2006-01-02 15:04:05" } else if format == "2" { format = "2006-01-02" } else if format == "3" { format = "15:04:05" } return format
}