Go语言中的时间,日期和年份

use*_*671 4 datetime date go

我有一个像这样的对象:

type searchObj struct {
    symbol string
    dataType string
    fromDate time.Time
    toDate time.Time
}
Run Code Online (Sandbox Code Playgroud)

我希望能够从fromDate和toDate中解析出日,月和年.我怎样才能做到这一点?是否有更好的类型使用(日期),因为我不需要它的时间片?

所以我希望能够通过这样的日期02/19/2016并能够获得data.Day = 19,date.Month = 02,date.Year = 2016.

我正在尝试这样的事情:

search.fromDate.Date.Month
search.fromDate.Date.Day
search.fromDate.Date.Year
Run Code Online (Sandbox Code Playgroud)

这是我目前用于创建searchObj的示例:

time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)
Run Code Online (Sandbox Code Playgroud)

我是Go的新手,谢谢你的帮助!

miq*_*qrc 10

使用接受的方法,如果您需要月份编号,您可以简单地将 Month 对象转换为 int,因为它是一个枚举:

year, month, day := time.Now().Date()
log.Printf("%v-%v-%v", year, int(month), day)
Run Code Online (Sandbox Code Playgroud)


ain*_*ain 7

time类型还具有Date()在单次调用中返回时间的年,月和日的方法.


eva*_*nal 5

您要查找的所有方法都存在于time.Time类型上。你可以做;

year := fromtDate.Year()
month := fromDate.Month()
day := fromDate.Day()
Run Code Online (Sandbox Code Playgroud)

编辑:我想使用时间会更简洁。

year, month, day := fromDate.Date()
Run Code Online (Sandbox Code Playgroud)