【发布时间】:2020-08-27 14:09:10
【问题描述】:
我的方法以这种格式记录当前时间
now = time.Now().format(time.RFC3339)
我想把它分配给
message.LastReadAt = &now // field LastReadAt *time.Time`example:"2020-05-01T15:00:00Z"` of Message type
但是当我尝试“message.LastReadAt = &now”时收到此消息
Cannot use '&now' (type *string) as type *time.Time
如何将变量“now”转换回“*time.Time”类型?
【问题讨论】:
-
你可以使用
time.Parse, golang.org/pkg/time/#Parse -
now = time.Now().format(time.RFC3339)不能是您的代码,它不会编译。但是在 time.Time 上调用Format会产生一个string,它不是time.Time,也不是*time.Time。请参加 Go 之旅,了解 Go 的变量是有类型的以及它们是如何工作的。 -
我已经知道是什么问题了,我正在这里寻找解决方案。我需要一个 RFC3339 格式的 time.Time 类型的变量。
-
time.Time类型的变量没有任何格式;格式仅在string和time.Time之间转换时才相关。如果您需要将当前时间作为time.Time,只需使用now := time.Now()。 -
"我需要 RFC3339 格式的 time.Time 类型的变量。" time.Time 的变量不能采用 RFC3339 格式,因为 RFC3339 定义了一个字符串。
标签: go time type-conversion