網頁

2024/6/5

Golang 取得月份的開始時間與結束時間

Go取得月份的開始和結束時間的方式如下。


下面範例分別取得本月和上個月的開始時間和結束時間(秒)。

main.go

package main

import (
    "fmt"
    "time"
)

func main() {
    now := time.Now().UTC()
    fmt.Println(now) // 2024-06-06 02:33:19.619639 +0000 UTC

    beginOfMonth := time.Date(now.Year(), now.Month(), 1, 0, 0, 0, 0, time.UTC)
    endOfMonth := beginOfMonth.AddDate(0, 1, 0).Add(-time.Second * 1)
    fmt.Println(beginOfMonth) // 2024-06-01 00:00:00 +0000 UTC
    fmt.Println(endOfMonth)   // 2024-06-30 23:59:59 +0000 UTC

    last := now.AddDate(0, -1, 0)
    beginOfLastMonth := time.Date(last.Year(), last.Month(), 1, 0, 0, 0, 0, time.UTC)
    endOfLastMonth := beginOfLastMonth.AddDate(0, 1, 0).Add(-time.Second * 1)
    fmt.Println(beginOfLastMonth) // 2024-05-01 00:00:00 +0000 UTC
    fmt.Println(endOfLastMonth)   // 2024-05-31 23:59:59 +0000 UTC

}

沒有留言:

張貼留言