package rule import ( "time" "git.apinb.com/quant/gostock/internal/logic/types" ) type UpDate struct { Key string Name string } func NewUpDate() *UpDate { return &UpDate{ Key: "UpDate", Name: "上市时间", } } func (r *UpDate) Run(lastdate string) *types.RuleResult { // 计算上市不足半年的股票 if lastdate == "" { return &types.RuleResult{Key: r.Key, Name: r.Name, Score: -1, Desc: "无上市时间"} } lastDate, err := time.Parse("20060102", lastdate) if err != nil { return &types.RuleResult{Key: r.Key, Name: r.Name, Score: -1, Desc: "上市时间格式错误"} } if time.Now().Sub(lastDate) < time.Hour*24*365/2 { return &types.RuleResult{Key: r.Key, Name: r.Name, Score: -1, Desc: "上市时间不足6个月"} } return &types.RuleResult{Key: r.Key, Name: r.Name, Score: 1, Desc: "上市超过半年"} }