package utils import ( "time" ) // 一些计算 // ComputeIndividualIncomeTax 计算个人所得税 func ComputeIndividualIncomeTax(income float64) float64 { if income <= 800 { return 0 } if income <= 4000 { income = income - 800 } // 实际纳税金额 if income > 4000 { income = income * 0.8 } // 税率、速算扣除数 var taxRate, quickDeduction float64 if income <= 20000 { taxRate = 0.2 quickDeduction = 0 } else if income <= 50000 { taxRate = 0.3 quickDeduction = 2000 } else { taxRate = 0.4 quickDeduction = 7000 } incomeTax := income*taxRate - quickDeduction return incomeTax } // CalculateAge 计算年龄 func CalculateAge(birthdate string) (int, error) { // 解析出生日期字符串 layout := "2006-01-02" birthTime, err := time.Parse(layout, birthdate) if err != nil { return 0, err } // 获取当前时间 now := time.Now() // 计算年龄 years := now.Year() - birthTime.Year() // 如果今年的生日还没到,年龄减一 if now.Month() < birthTime.Month() || (now.Month() == birthTime.Month() && now.Day() < birthTime.Day()) { years-- } return years, nil }