golang 获取指定年份中的所有天数

该博客介绍如何使用Golang来确定特定年份中的总天数,包括平年和闰年的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

用途

获取指定年份/月份中的所有天数

package main

import (
    "fmt"
    "time"
)

func main() {
    days := make([]string, 0)

    year := time.Now().Year()

    for month := 1; month <= 12; month++ {
        for day := 1; day <= 31; day++ {
            //如果是2月
            if month == 2 {
                if isLeapYear(year) && day == 30 { //闰年2月29天
                    break
                } else if !isLeapYear(year) && day == 29 { //平年2月28天
                    break
                } else {
                    days = append(days, fmt.Sprintf("%d-%02d-%02d", year, month, day))
                }
            } else if month == 4 || month == 6 || month == 9 || month == 11 { //小月踢出来
                if day == 31 {
                    break
                }
                days = append(days, fmt.Sprintf("%d-%02d-%02d", year, month, day))
            } else {
                days = append(days, fmt.Sprintf("%d-%02d-%02d", year, month, day))
            }
        }
    }

    fmt.Println(days)

}

//判断是否为闰年
func isLeapYear(year int) bool { //y == 2000, 2004
    //判断是否为闰年
    if year%4 == 0 && year%100 != 0 || year%400 == 0 {
        return true
    }

    return false
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值