package logic import ( "time" ) // IsTradingTime 判断当前时间是否为A股交易时间 // A股交易时间: // - 工作日(周一至周五) // - 上午:9:30 - 11:30 // - 下午:13:00 - 15:00 func IsTradingTime(t time.Time) bool { // 检查是否为工作日(1=周一, 5=周五) weekday := t.Weekday() if weekday == time.Saturday || weekday == time.Sunday { return false } // 获取小时和分钟 hour := t.Hour() minute := t.Minute() // 转换为分钟数便于比较 currentMinutes := hour*60 + minute // 上午交易时间:9:30 - 11:30 (570 - 690分钟) morningStart := 9*60 + 30 // 570 morningEnd := 11*60 + 30 // 690 // 下午交易时间:13:00 - 15:00 (780 - 900分钟) afternoonStart := 13 * 60 // 780 afternoonEnd := 15 * 60 // 900 // 判断是否在交易时间段内 if (currentMinutes >= morningStart && currentMinutes < morningEnd) || (currentMinutes >= afternoonStart && currentMinutes < afternoonEnd) { return true } return false }