Go 戈兰的时间安排
我知道我们需要使用time.time界面来显示Go中的日期 为了格式化,我们需要使用format函数Go 戈兰的时间安排,go,Go,我知道我们需要使用time.time界面来显示Go中的日期 为了格式化,我们需要使用format函数 但是什么是有效的和不同的时间格式化程序。Golang中的时间?Golang规定了获取有效日期要遵循的不同标准 可在时间文件中找到。格式为: 预定义的布局ANSIC、UnixDate、RFC3339和其他描述了参考时间的标准和方便表示。有关参考时间的格式和定义的更多信息,请参阅ANSIC和本软件包定义的其他常量的文档 因此,在常数中: 要定义自己的格式,请按自己的方式写下参考时间;有关示例,请参
但是什么是有效的和不同的时间格式化程序。Golang中的时间?Golang规定了获取有效日期要遵循的不同标准
可在时间文件中找到。格式为: 预定义的布局ANSIC、UnixDate、RFC3339和其他描述了参考时间的标准和方便表示。有关参考时间的格式和定义的更多信息,请参阅ANSIC和本软件包定义的其他常量的文档 因此,在常数中: 要定义自己的格式,请按自己的方式写下参考时间;有关示例,请参见ANSIC、StampMicro或Kitchen等常量的值。该模型是为了演示参考时间是什么样子的,以便格式和解析方法可以对一般时间值应用相同的转换 简而言之:您以所需格式编写参考时间
Mon Jan 2 15:04:05 MST 2006
,并将该字符串传递给time.format()
正如@Volker所说,请阅读文档并了解类型和接口之间的差异。以防您需要自定义布局和/或难以使用内置布局
package main
import (
"fmt"
"time"
)
func main() {
t := time.Now()
fmt.Println(t.Format(time.Kitchen))
t := time.Now()
tf := t.Format("2006-01-02 15:04:05-07:00")
fmt.Println(tf)
}
type Rtime struct {
Year int
Month int
Day int
Hour int
Minute int
Second int
Nanosecond int
Millisecond int
Offset int
OffsetString string
Zone string
}
func (rt *Rtime) LocalNow() {
t := time.Now()
rt.Hour,rt.Minute,rt.Second = t.Clock()
rt.Nanosecond = t.Nanosecond()
rt.Millisecond = rt.Nanosecond / 1000000
rt.Month = int(t.Month())
rt.Day = t.Day()
rt.Year = t.Year()
rt.OffsetString = ""
rt.Zone, rt.Offset = t.Local().Zone()
if rt.Offset > 0 {
rt.OffsetString = fmt.Sprintf("+%02d%02d",
rt.Offset/(60*60),
rt.Offset%(60*60)/60)
} else {
rt.OffsetString = fmt.Sprintf("%02d%02d",
rt.Offset/(60*60),
rt.Offset%(60*60)/60)
}
}
str := fmt.Sprintf("%04d-%02d-%02d %02d:%02d:%02d.%03d %s %s %d",
rt.Year,rt.Month,rt.Day,rt.Hour,rt.Minute,rt.Second,
rt.Millisecond,rt.Zone,rt.OffsetString,rt.Nanosecond)
fmt.Println(str)
输出
2021-06-06 09:21:54.949 EEST +0300 949861778
您可以创建自己的或使用定义的常量:为什么不阅读链接的全部文档?见该段。时间不是一个界面。谢谢沃克,我会读一读的。