我是新手,我正在创建一个小控制台脚本.你可以在这里查看我的代码:

package main

import (
    "bufio"
    "fmt"
    "os"
    "time"
)

func main() {
    reader := bufio.NewReader(os.Stdin)
    fmt.Println("Calculate")
    fmt.Print("Hours and minutes: ")
    start, _, _ := reader.ReadLine()
    begin, err := time.Parse("2016-12-25 00:00:00", "2016-12-25 "+string(start)+":00")
    if err != nil {
        fmt.Println(err)
    }
    fmt.Println(begin)
}

我见过一个相关的question,但我不明白为什么.

这是我在运行代码后遇到的错误:

parsing time "2016-12-25 22:40:00": month out of range
0001-01-01 00:00:00 +0000 UTC

你知道我做错了什么吗?

谢谢

推荐答案

您在time.Parselayout参数中使用了错误的参考时间,该参数应为Jan 2, 2006 at 3:04pm (MST)

将您的begin行更改为以下内容,它将起作用:

begin, err := time.Parse("2006-01-02 15:04:05", "2016-12-25 "+string(start)+":00")

func Parse

Go相关问答推荐

如何使用go从map.dbf map.prj map.shp map.shx中的任何文件中了解层名称

如何在gocql中设置gocqlSYS标志?

Go 1.22 net/http群组路由

使用Gorm创建自定义连接表

未对GoFr中的所有请求进行跟踪

为什么没有正确生成这些元组?

无法在32位计算机上运行Golang应用程序

go-chi: 接受带有反斜杠的 url 路径参数

如何模拟 stripe 需要 webhooks 的捕获事件?

从 ApiGateway 中的 lambda Go 返回 Json

使用Goldmark在golang中添加ChildNode会导致堆栈溢出

xml.Unmarshal 不支持的类型 struct

linter 警告:返回值被忽略

此 Golang 程序中的同步问题

判断一个区域内的纬度/经度点

类型/ struct 函数的 GoDoc 示例函数

如果 transaction.Commit 对带有 postgres 连接的 SQL 失败,您是否需要调用 transaction.RollBack

如何在Go中替换符号并使下一个字母大写

如何在循环中旋转图像以便在 golang 中创建 GIF?

如何将实际上是类型为 reflect.Int32 的类型切片的 interface{} 转换为 int32 的切片?