鉴于时间对象,t := time.Now()有没有办法在那一年的第一天和最后一天获得时间戳?
我可以做一些事情,比如d := t.YearDay()获得一年中的天数,然后t.AddDate(0, 0, -d)获得今年的开始,并t.AddDate(0, 0, 365-d)获得今年年底,但这似乎很脆弱,因为它不涉及闰年等.
您可以使用Time结构对象并使用time.Date和time.Time.Year ()函数创建新的Time结构对象.那么,如果当前时间是t := time.Now()今年UTC的最后一天将是lt := time.Date(t.Year(), time.December, 31, 0, 0, 0, 0, time.UTC)
这是一个例子:
package main
import "fmt"
import "time"
func main() {
t := time.Now()
last := time.Date(t.Year(), time.December,31, 0, 0, 0, 0, time.UTC)
first := time.Date(t.Year(), time.January,1, 0, 0, 0, 0, time.UTC)
fmt.Println("Current: ", t)
fmt.Println("First: ", first)
fmt.Println("Last: ", last)
}
Run Code Online (Sandbox Code Playgroud)
http://play.golang.org/p/jahjd_mi6K
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |