在程式設計中使用時間值通常需要操作日期並確定時間範圍的某些方面。常見任務是尋找給定月份的最後一天。當處理具有不同天數的月份時,例如二月,這可能特別具有挑戰性。
在 Go 的 time 套件中, time.Time 型表示時間點。要取得給定時間的一個月的最後一天時間值,我們可以使用 Date 函數。
Date 函數需要幾個參數,包括:
要查找一個月的最後一天,我們可以將日期參數設為0,並將月份參數增加1。這將傳回一個 time.Time 值,表示下個月的第一天。然後我們可以從此值中減去一天,以獲得當月的最後一天。
例如,要找 2016 年 1 月的最後一天,我們可以使用以下代碼:
package main
import (
"fmt"
"time"
)
func main() {
// January, 29th
t, _ := time.Parse("2006-01-02", "2016-01-29")
// Increment month and set day to 0 to get first day of next month
y, m, _ := t.Date()
lastDay := time.Date(y, m 1, 0, 0, 0, 0, 0, time.UTC)
// Subtract one day to get last day of current month
lastDay = lastDay.Add(-24 * time.Hour)
fmt.Println(lastDay)
}
該程式的輸出為:
2016-01-31 00:00:00 0000 UTC
這正確地給出了該月的最後一天,其中是2016 年1 月31 日。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3