在golang中我没有找到任何方法将12小时格式字符串时间转换为24小时格式,如下所示:
degree
我在下面尝试使用布局
07:05:45PM to 19:05:45
输出是:
layout := "Mon Jan 2 15:04:05 -0700 MST 2006"
/*
* Write your code here.
*/
//layout := "3:04PM"
t,_ := time.Parse(layout,s)
fmt.Println(t)
我已经找到了与此类似的答案,但它并没有帮助每个人都使用整个布局。我用另一种语言找到了答案,但没有找到答案。
答案 0 :(得分:2)
关键是要了解布局。参考时间布局Parse为:
Mon Jan 2 15:04:05 -0700 MST 2006
您需要将此日期重写为您的格式。您只需要根据需要包含元素。所以只有小时,分钟,秒和AM / PM很重要。参考时间15:04:05
应写为03:04:05PM
。
只需使用重写时间作为布局参数:
t, _ := time.Parse("03:04:05PM", "07:05:45PM")
fmt.Println(t.Format("15:04:05"))
输出:
19:05:45
答案 1 :(得分:1)
例如,
package main
import (
"fmt"
"time"
)
func main() {
layout1 := "03:04:05PM"
layout2 := "15:04:05"
t, err := time.Parse(layout1, "07:05:45PM")
if err != nil {
fmt.Println(err)
return
}
fmt.Println(t.Format(layout1))
fmt.Println(t.Format(layout2))
}
游乐场:https://play.golang.org/p/Ypn2-lEF_Zs
输出:
07:05:45PM
19:05:45
参考:package time
答案 2 :(得分:0)
const (
layoutDateTime = "02 Jan 2006 15:04:05"
)
dateTimePM, _ := time.Parse(layoutDateTime + " PM", "07 Nov 2019 11:31:30 PM")
dateTimeAM, _ := time.Parse(layoutDateTime + " PM", "07 Nov 2019 11:31:30 AM")
这已成功正确地转换了两个AM,PM日期。