【发布时间】:2016-11-21 16:32:15
【问题描述】:
我目前正在尝试从我的 SQL 数据库中获取 time.Time 对象并将检索到的值转换为如下所示的格式化字符串:
TIME_FORMAT := "%Y-%m-%dT%H:%M:%S"
这是我在 Python 中用来做同样事情的格式,但我知道它不适合 go。我已经从数据库中获取了值,现在只需要格式化它。请注意,我已将 ccc.Ia_date 定义为 interface{} 类型,因为数据库中的此值可能为空。这是我的代码片段:
fmt.Println(reflect.TypeOf(ccc.Ia_date)) //gives me time.Time
t := ccc.Ia_date //which prints as: 2016-11-16 21:06:39 +0000 +0000
fmt.Println(t.Format())
我收到以下错误:
t.Format undefined (type interface {} 是没有方法的接口)
我错过了导入吗?或者这只是不可能使用接口类型?如果是这样,我必须接受来自数据库的空值的替代方案是什么? (我已经看到Golang: convert time.Time to string 的相关答案 - 我尝试了该解决方案,但我没有抓住时间。现在,这是我看到的唯一区别)
【问题讨论】:
标签: postgresql go interface formatting