这是更大代码的一部分。我很困惑,如果我使用下面格式的任何其他数字,它会导致错误的值。
所以而不是
fmt.Println(time.Now().Format("2006-01-02 15:04:05-07:00"))
如果我尝试使用
fmt.Println(time.Now().Format("2006-01-02 12:04:05-04:00"))
结果错了。即使它是相同的格式,只需数字更改
package main
import (
"fmt"
"time"
)
func main() {
fmt.Println(time.Now().Format("2006-01-02 15:04:05-07:00"))
}
所以我的问题是为什么会如此。内部格式的数字没有任何意义。它们仅用于表示格式。
答案 0 :(得分:5)
来自https://golang.org/pkg/time/:
func(时间)格式
func(t Time)格式(布局字符串)字符串
Format返回格式化的时间值的文本表示 根据布局,通过显示如何定义格式 参考时间,定义为
如果是值,将显示
Mon Jan 2 15:04:05 -0700 MST 2006
;
所以你必须使用参考时间。你不应该把它改成另一个时间。