登录
首页 >  Golang >  Go问答

在time.Parse中解析不同的时间范围

来源:stackoverflow

时间:2024-02-09 12:42:24 180浏览 收藏

小伙伴们对Golang编程感兴趣吗?是否正在学习相关知识点?如果是,那么本文《在time.Parse中解析不同的时间范围》,就很适合你,本篇文章讲解的知识点主要包括。在之后的文章中也会多多分享相关知识点,希望对大家的知识积累有所帮助!

问题内容

我需要接收一个字符串形式的时间,解析它,然后再次将其呈现为字符串:

package main

import ("fmt"; "time")

func main() {
  const timelayout = "mon, jan 2, 2006 15:04 pm"
  sourcetime :=      "mon, apr 7, 2025 7:36 pm"
  mytime, err := time.parse(timelayout, sourcetime)
  if err != nil { panic(err) }
  fmt.printf("\t\tsourcetime = \"%s\"\n mytime.format(timelayout) = \"%s\"\n",
    sourcetime, mytime.format(timelayout))
}

这是我的预期输出:

sourcetime = "mon, apr 7, 2025 7:36 pm"
 mytime.format(timelayout) = "mon, apr 7, 2025 7:36 pm"

但是我收到了这个奇怪的输出:

sourceTime = "Mon, Apr 7, 2025 7:36 PM"
 myTime.Format(timeLayout) = "Mon, Apr 7, 2025 19:36 PM"

我没有更改变量中的某些内容,那么为什么我收到相同布局的不同结果?我不应该改变这个时间布局。但我需要再次接收源字符串作为结果。


正确答案


您的时间布局使用 24 小时制(例如 15:04 而不是 3:04),因此当您格式化它时,您会得到 19 而不是 7。如果您想要 12 小时制,那么您的时间布局应为 “2006 年 1 月 2 日星期一下午 3:04”

好了,本文到此结束,带大家了解了《在time.Parse中解析不同的时间范围》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>