英文:
How to set time to dd-MMM-yyyy HH:mm:ss in go?
问题
以下是翻译好的代码:
package main
import "fmt"
import "time"
func main() {
fmt.Println(time.Now().Format("01-JAN-2006 15:04:00"))
}
如果今天的日期时间是 2016-03-03 08:00:00 +0000UTC
,输出应该是 03-MAR-2016 08:00:00
,时间应该是24小时制。
英文:
https://play.golang.org/p/82QgBdoI2G
package main
import "fmt"
import "time"
func main() {
fmt.Println(time.Now().Format("01-JAN-2006 15:04:00"))
}
The output should be like if date time today is 2016-03-03 08:00:00 +0000UTC
Output: 03-MAR-2016 08:00:00
Time should be in 24hr format.
答案1
得分: 13
你的布局不正确,它应该显示参考时间在你想要的格式中的表示方式,其中参考时间是Mon Jan 2 15:04:05 -0700 MST 2006
。
你的布局应该是:
"02-Jan-2006 15:04:05"
注意秒部分的05
。由于你指定了小时为15
,这是24小时制。3
或03
是12小时制。
fmt.Println(time.Now().Format("02-Jan-2006 15:04:05"))
对我来说,它打印出:
03-Mar-2016 13:03:10
还要注意月份使用Jan
,不识别JAN
。如果你想要大写的月份,可以使用strings.ToUpper()
:
fmt.Println(strings.ToUpper(time.Now().Format("02-Mar-2006 15:04:05")))
输出:
03-MAR-2016 13:03:10
还要注意,在Go Playground上,当你的应用程序启动时,时间总是设置为一个常量(即2009-11-10 23:00:00 +0000 UTC
)。
英文:
Your layout is incorrect, it should show how the reference time is represented in the format you want, where the reference time is Mon Jan 2 15:04:05 -0700 MST 2006
.
Your layout should be:
"02-Jan-2006 15:04:05"
Note the 05
for the seconds part. And since you specified the hours as 15
, that is 24-hour format. 3
or 03
is for the 12-hour format.
fmt.Println(time.Now().Format("02-Jan-2006 15:04:05"))
For me it prints:
03-Mar-2016 13:03:10
Also note Jan
for months, JAN
is not recognized. If you want uppercased month, you may use strings.ToUpper()
:
fmt.Println(strings.ToUpper(time.Now().Format("02-Mar-2006 15:04:05")))
Output:
03-MAR-2016 13:03:10
Also note that on the Go Playground the time is always set to a constant when your application is started (which is 2009-11-10 23:00:00 +0000 UTC
).
答案2
得分: 2
fmt.Println(time.Now().Format("02-Jan-2006 15:04:05"))
参见Time包常量
布局中使用的参考时间是特定时间:
Mon Jan 2 15:04:05 MST 2006
这是Unix时间1136239445。由于MST是GMT-0700,参考时间可以被视为
01/02 03:04:05PM '06 -0700
英文:
fmt.Println(time.Now().Format("02-Jan-2006 15:04:05"))
> The reference time used in the layouts is the specific time:
>
> Mon Jan 2 15:04:05 MST 2006
>
> which is Unix time 1136239445. Since MST is GMT-0700, the reference time can be thought of as
>
> 01/02 03:04:05PM '06 -0700
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论