
我需要接收一个字符串形式的时间,解析它,然后再次将其呈现为字符串:
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"
但是我收到了这个奇怪的输出:
用 php + mysql 驱动的在线商城系统,我们的目标为中国的中小企业及个人提供最简洁,最安全,最高效的在线商城解决方案,使用了自建的会员积分折扣功能,不同的会员组有不同的折扣,让您的商店吸引更多的后续客户。 系统自动加分处理功能,自动处理会员等级,免去人工处理的工作量,让您的商店运作起来更方便省事 采用了自建的直接模板技术,免去了模板解析时间,提高了代码利用效率 独立开发的购物车系统,使用最
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”









