我正在尝试获取当月的第一天和最后一天。您可以添加天数和小时数,但不能添加月份,我正在考虑从下个月中减去一天以获得本月的最后一天。像这样的事情:
package main
import (
"fmt"
"time"
)
func main() {
date := time.Now()
nextMonth := date.Add(time.Month)
LastDay := nextMonth.Add(-time.Hour * 24)
fmt.Println(LastDay)
}
time.Month
是一种类型,而不是值,所以你不能Add
它。另外,您的逻辑是错误的,因为如果您添加一个月并减去一天,您就不会得到月底,而是会在下个月中旬得到一些东西。如果今天是 4 月 24 日,那么您将得到 5 月 23 日。
以下代码将完成您正在寻找的操作:
package main
import (
"time"
"fmt"
)
func main() {
now := time.Now()
currentYear, currentMonth, _ := now.Date()
currentLocation := now.Location()
firstOfMonth := time.Date(currentYear, currentMonth, 1, 0, 0, 0, 0, currentLocation)
lastOfMonth := firstOfMonth.AddDate(0, 1, -1)
fmt.Println(firstOfMonth)
fmt.Println(lastOfMonth)
}
游乐场链接 http://play.golang.org/p/F7GoesAAcK
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)