Time 如何获得给定月份的第一个星期一?

Time 如何获得给定月份的第一个星期一?,time,go,Time,Go,我想得到一个月的第一个星期一 我能想到的最好办法是循环使用前七天,然后在.Weekday()=“周一”时返回。有更好的方法吗?通过查看时间的.Weekday(),可以计算出第一个星期一 package main import ( "fmt" "time" ) // FirstMonday returns the day of the first Monday in the given month. func FirstMonday(year int, month time.M

我想得到一个月的第一个星期一

我能想到的最好办法是循环使用前七天,然后在
.Weekday()=“周一”
时返回。有更好的方法吗?

通过查看时间的.Weekday(),可以计算出第一个星期一

package main

import (
    "fmt"
    "time"
)

// FirstMonday returns the day of the first Monday in the given month.
func FirstMonday(year int, month time.Month) int {
    t := time.Date(year, month, 1, 0, 0, 0, 0, time.UTC)
    return (8-int(t.Weekday()))%7 + 1
}

func main() {
    for m := 1; m <= 12; m++ {
        fmt.Println(m, FirstMonday(2013, time.Month(m)))
    }
}
主程序包
进口(
“fmt”
“时间”
)
//FirstMonday返回给定月份第一个星期一的日期。
func第一个星期一(年整数,月时间.月)整数{
t:=时间日期(年、月、1、0、0、0、时间UTC)
返回值(8-int(t.Weekday())%7+1
}
func main(){

对于m:=1;m,你能给我们提供更多的信息吗?这是一个非常普遍的问题。很难理解。你必须使用什么样的数据结构?你是否存储了月份,以及每个月的天数?你真的没有给我们提供太多的细节,我不知道是否有人会直接参与进来“为你做功课”张贴你已经拥有的代码。