golang獲取本月第一天、獲取本月最後一天、獲取當天0點的時間

 主要是通過time.Now()函數和time.AddDate函數以及time.Date()函數來構造和加減日期,獲取本月第一天和最後一天。具體可以看代碼實現。

package util

import (
	"time"
)
//獲取傳入的時間所在月份的第一天,即某月第一天的0點。如傳入time.Now(), 返回當前月份的第一天0點時間。
func GetFirstDateOfMonth(d time.Time) time.Time {
	d = d.AddDate(0, 0, -d.Day() + 1)
	return GetZeroTime(d)
}
//獲取傳入的時間所在月份的最後一天,即某月最後一天的0點。如傳入time.Now(), 返回當前月份的最後一天0點時間。
func GetLastDateOfMonth(d time.Time) time.Time {
	return GetFirstDateOfMonth(d).AddDate(0, 1, -1)
}

//獲取某一天的0點時間
func GetZeroTime(d time.Time) time.Time {
	return time.Date(d.Year(), d.Month(), d.Day(), 0, 0, 0, 0, d.Location())
}

下面是簡單的測試:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章