登录
首页 >  Golang >  Go问答

time.Time 的意外输出

来源:Golang技术栈

时间:2023-04-13 20:46:42 185浏览 收藏

IT行业相对于一般传统行业,发展更新速度更快,一旦停止了学习,很快就会被行业所淘汰。所以我们需要踏踏实实的不断学习,精进自己的技术,尤其是初学者。今天golang学习网给大家整理了《time.Time 的意外输出》,聊聊golang,我们一起来看看吧!

问题内容

我刚开始通过 Udemy 上的教程视频学习 Go,我尝试打印当前时间,如下所示

import (
  "fmt" 
  "time"
)

func main(){
  t := time.Now()

  fmt.Println(t) 
}

我得到一个很长的文本作为输出,如下所示

2018-07-04 12:03:07.2911671 +0800 +08 m=+0.002000201

我原本希望只得到+0800a 后面的 a timeZone,这应该是它的结尾。预期的输出如下所示,也如教程视频中所示。但对我来说,结果的形式要长得多。

2018-07-04 12:03:07.2911671 +0530 IST

问题是,为什么相同的命令date.Now()在讲师的程序和我的程序之间返回不同的格式?为什么没有设置特定的格式,不应该standardize/base返回格式?

正确答案

问题是,为什么相同的命令date.Now()在讲师的程序和我的程序之间返回不同的格式?

因为本教程是在 Go 1.9 发布之前创建的。从 Go 1.9 开始,[单调时钟支持](https://golang.org/doc/go1.9#monotonic- time)被添加到time.Time结构中,这增加了那些额外的字段。

对于正常使用,您应该始终使用Format函数输出时间,而不是输出原始数据。这将产生更有用的输出,并受到保护,以防止将来对基础类型进行任何添加。

理论要掌握,实操不能落!以上关于《time.Time 的意外输出》的详细介绍,大家都掌握了吧!如果想要继续提升自己的能力,那么就来关注golang学习网公众号吧!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>