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
}
沒有留言:
張貼留言