用Go获取当月所有的日期
时间: 2023-03-03 07:34:00 浏览: 124
以下是使用Go获取当月所有日期的示例代码:
```go
package main
import (
"fmt"
"time"
)
func main() {
now := time.Now() // 获取当前时间
year, month, _ := now.Date() // 获取年月
// 构建当月第一天和下个月第一天的时间对象
firstDayOfMonth := time.Date(year, month, 1, 0, 0, 0, 0, time.Local)
firstDayOfNextMonth := firstDayOfMonth.AddDate(0, 1, 0)
// 计算当月天数
daysInMonth := firstDayOfNextMonth.Sub(firstDayOfMonth).Hours() / 24
// 遍历每一天并打印日期
for i := 0; i < int(daysInMonth); i++ {
day := firstDayOfMonth.AddDate(0, 0, i)
fmt.Println(day.Format("2006-01-02"))
}
}
```
这段代码首先获取当前时间,然后从中提取出年和月。接着构建当月第一天和下个月第一天的时间对象,然后计算当月的天数。最后,使用循环遍历当月的每一天,并使用 `time.Format` 函数将日期格式化为 "2006-01-02" 的字符串,然后打印出来。
阅读全文