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

时间:2016-02-19 22:17:44

标签: date datetime go

我有一个这样的对象:

type searchObj struct {
    symbol string
    dataType string
    fromDate time.Time
    toDate time.Time
}

我希望能够从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

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

time.Date(2009, time.November, 10, 23, 0, 0, 0, time.UTC)

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

3 个答案:

答案 0 :(得分:7)

time类型还有Date()方法,可以在一次通话中返回年份,月份和日期。

答案 1 :(得分:3)

您正在寻找的所有方法都存在于time.Time类型中。你可以做;

year := fromtDate.Year()
month := fromDate.Month()
day := fromDate.Day()

编辑: 我想使用time.Date会更简洁;

year, month, day := fromDate.Date()

答案 2 :(得分:0)

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

year, month, day := time.Now().Date()
log.Printf("%v-%v-%v", year, int(month), day)