【发布时间】:2017-09-12 03:22:43
【问题描述】:
所以我的功能表现良好。
func Today()(result string){
current_time := time.Now().Local()
result = current_time.Format("01/02/2006")
return
}
打印MM/DD/YYYY 我认为如果我在天数位置有一个大于 12 的值来明确它是 MM/DD/YYYY 会更易读,所以我将其更改为以下
func Today()(result string){
current_time := time.Now().Local()
result = current_time.Format("01/23/2004")
return
}
令我懊恼的是,这导致了不好的结果。打印MM/DDHH/DD0MM
意识到我的错误,我看到格式是由reference time...定义的...
Mon Jan 2 15:04:05 -0700 MST 2006
我想知道这个时刻是否有其他实例被用作日期时间的格式参考,以及这个参考时刻是否有昵称(如null island)?
【问题讨论】:
-
如果我理解正确,你是想说吗?您无法使用
01/23/2004作为格式布局。如是;您使用的格式布局不正确。建议你看看时间包常量部分golang.org/pkg/time/#pkg-constants了解更多。 -
我想知道这个参考时间还用在什么地方,是否有名字。我 100% 理解为什么
01/23/2006会产生这样的结果。 -
这纯粹是推测,但我怀疑它最初的目的是比
%a %b %e %H:%M:%S %z %Z %Y(default output format of the POSIXdateutility 的一个微妙变体)更易于阅读。进一步推测,在许多国家,星期一是一周的第一天,而一月是一年中的第一个月,这就是使用它们的原因。 2006 年(即'06)是唯一符合标准的年份,因此它是第 6 项。 -
至于 15,而不是 03,这可能是 AM/PM 位,因为文档特别提到了“PM”。
-
@ChronoKitsune 这就是我的信念。我只是搜索了一下;看到这个帖子groups.google.com/d/msg/golang-nuts/806le5R6gEc/iYbOz5z6ruwJ