code refactor

This commit is contained in:
MaysWind
2024-04-04 20:42:40 +08:00
parent 46caf46ef7
commit 28f113d992
3 changed files with 27 additions and 7 deletions
+17
View File
@@ -177,6 +177,23 @@ func GetUnixTimeFromTransactionTime(transactionTime int64) int64 {
return transactionTime / 1000
}
// GetTransactionTimeRangeByYearMonth returns the transaction time range by specified year and month
func GetTransactionTimeRangeByYearMonth(year int32, month int32) (int64, int64, error) {
startMinUnixTime, err := ParseFromLongDateTimeToMinUnixTime(fmt.Sprintf("%d-%02d-01 00:00:00", year, month))
startMaxUnixTime, err := ParseFromLongDateTimeToMaxUnixTime(fmt.Sprintf("%d-%02d-01 00:00:00", year, month))
if err != nil {
return 0, 0, err
}
endMaxUnixTime := startMaxUnixTime.AddDate(0, 1, 0)
minTransactionTime := GetMinTransactionTimeFromUnixTime(startMinUnixTime.Unix())
maxTransactionTime := GetMinTransactionTimeFromUnixTime(endMaxUnixTime.Unix()) - 1
return minTransactionTime, maxTransactionTime, nil
}
// parseFromUnixTime parses a unix time and returns a golang time struct
func parseFromUnixTime(unixTime int64) time.Time {
return time.Unix(unixTime, 0)