|
|
@ -99,3 +99,28 @@ func DatetimeToUnix(value string) int64 { |
|
|
|
|
|
|
|
|
return reserveTime.Unix() |
|
|
return reserveTime.Unix() |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// 具体时间戳转年龄
|
|
|
|
|
|
func CalculateAge(birthTimestamp int64) int { |
|
|
|
|
|
// 将时间戳转换为 time.Time 对象
|
|
|
|
|
|
birthTime := time.Unix(birthTimestamp, 0) |
|
|
|
|
|
currentTime := time.Now() |
|
|
|
|
|
|
|
|
|
|
|
// 获取出生和当前的年、月、日
|
|
|
|
|
|
birthYear := birthTime.Year() |
|
|
|
|
|
currentYear := currentTime.Year() |
|
|
|
|
|
birthMonth := int(birthTime.Month()) |
|
|
|
|
|
currentMonth := int(currentTime.Month()) |
|
|
|
|
|
birthDay := birthTime.Day() |
|
|
|
|
|
currentDay := currentTime.Day() |
|
|
|
|
|
|
|
|
|
|
|
// 计算初步年龄
|
|
|
|
|
|
age := currentYear - birthYear |
|
|
|
|
|
|
|
|
|
|
|
// 如果当前月份小于出生月份,或者月份相同但当前日期小于出生日期,则年龄减1
|
|
|
|
|
|
if currentMonth < birthMonth || (currentMonth == birthMonth && currentDay < birthDay) { |
|
|
|
|
|
age-- |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return age |
|
|
|
|
|
} |