打印万年历

package main

import (
    "fmt"
    "time"
)

func main() {
    // 获取当前时间
    now := time.Now()
    // 获取当前月份
    month := now.Month()
    // 获取当前年份
    year := now.Year()
    // 获取当前日期
    day := now.Day()
    // 获取当前月份的第一天
    firstDay := time.Date(year, month, 1, 0, 0, 0, 0, time.Local)
    // 获取当前月份的最后一天
    lastDay := time.Date(year, month+1, 0, 0, 0, 0, 0, time.Local)
    // 获取当前月份的第一天是星期几
    weekDay := firstDay.Weekday()
    // 获取当前月份的最后一天是几号
    lastDayNum := lastDay.Day()
    // 获取当前月份的天数
    dayNum := lastDayNum
    // 获取当前月份的空格数
    spaceNum := int(weekDay)
    // 打印月份
    fmt.Printf("%d年%d月\n", year, month)
    // 打印星期
    fmt.Println("日\t一\t二\t三\t四\t五\t六")
    // 打印空格
    for i := 0; i < spaceNum; i++ {
        fmt.Print("\t")
    }
    // 打印日期
    for i := 1; i <= dayNum; i++ {
        if i == day {
            fmt.Printf("%d\t", i)
        } else {
            fmt.Printf("%d\t", i)
        }
        if (i+spaceNum)%7 == 0 {
            fmt.Println()
        }
    }
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
goStruct
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!