【发布时间】:2018-03-26 23:35:19
【问题描述】:
在Common Log Format 的维基百科条目中,strftime 格式为:
[10/Oct/2000:13:55:36 -0700] 是日期、时间和时区 收到请求,默认为 strftime 格式 %d/%b/%Y:%H:%M:%S %z。
当我尝试使用 time.Format 函数时:
package main
import (
"fmt"
"time"
)
func main() {
t, _ := time.Parse(time.UnixDate, "Tue Oct 10 13:55:36 PDT 2000")
fmt.Println(time.Time(t).Format("01/Feb/2006:15:04:05 -0700"))
}
我得到了输出[10/Feb/2000:13:55:36 +0000],而我期待的是[10/Oct/2000:13:55:36 -0700](根据维基百科)。我的格式有什么问题?
我检查了那天是星期二,那个日期的时区是 -7h (PDT)。
【问题讨论】:
-
我认为您对时区的 dup 是正确的,但是月份呢?请注意月份坚持格式化的月份字符串。
-
如下回答,使用一月而不是二月,但时区仍然是个问题