情况:
当我打电话时一样的功能Second(),Year()等等,我得到塔伊的结果int.但是当我打电话时Month(),我会得到一个类型的结果Month.
我在在线文档中找到了以下内容:
type Month int
...
func (m Month) String() string
..但我不太明白.
问题:
我的代码有如下错误,因为m是没有的int:
无效操作:(
m / time.Month(10) + offset不匹配类型time.Month和int)
题:
如何获得int从Month()?
zzz*_*zzz 45
考虑到:
var m time.Month
m的类型底层类型是int,所以它可以转换为int:
var i int = int(m) // normally written as 'i := int(m)'
在旁注:问题显示分裂' m / time.Month(10)'.这可能是一个bug,除非你想计算一些dekamonth值;-)
Bra*_*orm 12
您必须将其显式转换为int:
var m Month = ...
var i int = int(m)
在go操场上查看这个最小的例子.
从技术上讲,这不是 int,但如果您尝试获取像"2020-04-16"(2020 年 4 月 16 日)这样的月份字符串,您可以这样做:
t := time.Now()
fmt.Printf("%d-%02d-%02d", t.Year(), int(t.Month()), t.Day())