0

我想找一个月的第二个和第四个星期六来检查银行假期。我现在已经添加了周日的支票。目前这是我的函数在 Go 中以日期作为输入的外观

func IsHoliday(date time.Time) bool {
    return date.Weekday() == time.Sunday
}

4

1 回答 1

0

这就是实现函数查找备用星期六的方式。它找到第一个星期六日期,然后将输入日期与第二个和第四个星期六进行比较。

func isAlternateSaturday(date time.Time) bool {
    firstDateOfMonth := time.Date(date.Year(), date.Month(), 1, 0, 0, 0, 0, nil)
    firstSaturday := (6-int(firstDateOfMonth.Weekday())) + firstDateOfMonth.Day()
    return (date.Day() == firstSaturday + 7) || (date.Day() == firstSaturday + 21)
}

然后将其与主要的 IsHoliday 功能集成:

func IsHoliday(date time.Time) bool {
    return date.Weekday() == time.Sunday || isAlternateSaturday(date)
}
于 2021-05-20T14:47:37.637 回答