golang time.Parse 怎么用
时间: 2023-10-06 20:09:32 浏览: 217
`time.Parse(layout, value string) (Time, error)` 函数是用来将字符串转换为 `Time` 类型的函数。其中 `layout` 参数是一个字符串,指定了字符串的格式,`value` 参数是需要被转换的字符串。
以下是一个示例:
```go
package main
import (
"fmt"
"time"
)
func main() {
layout := "2006-01-02 15:04:05"
value := "2021-06-01 12:00:00"
t, err := time.Parse(layout, value)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(t)
}
```
在这个示例中,我们使用 `2006-01-02 15:04:05` 作为 `layout` 参数来指定字符串的格式,`value` 参数是 `"2021-06-01 12:00:00"`。`time.Parse` 函数将字符串转换为 `Time` 类型,如果转换失败会返回一个非空的错误。最后,我们将转换后的 `Time` 类型打印出来。
相关问题
golang time包判断输入格式
在Go语言(golang)中,`time` 包提供了一个名为 `Parse` 的函数,用于解析时间格式字符串并将其转换为 `Time` 类型。如果你需要检查输入的时间格式是否有效,可以使用这个函数尝试解析。例如:
```go
package main
import (
"fmt"
"time"
)
func isValidFormat(input string) bool {
_, err := time.Parse(" layouts", input)
return err == nil // 如果解析无错,则返回true;有错则返回false
}
func main() {
inputs := []string{"2022-01-01", "Jan 1 2022", "2022/01/01 12:00 PM"}
for _, format := range inputs {
if isValidFormat(format) {
fmt.Printf("%q is a valid time format.\n", format)
} else {
fmt.Printf("%q is not a valid time format.\n", format)
}
}
}
```
在这个例子中,`layouts` 是一个可自定义的格式字符串,你可以根据实际需要设置,如 `"2006-01-02 15:04:05"` (默认格式) 或者 `"Mon Jan _2 15:04:05 MST 2006"`。
GO 将字符串转换成 time.Time 类型
在 Go 中,你可以使用 `time.Parse` 函数将字符串转换为 `time.Time` 类型。这个函数接受两个参数:时间字符串和时间格式。
下面是一个示例代码,将时间字符串转换为 `time.Time` 类型:
```go
package main
import (
"fmt"
"time"
)
func main() {
timeStr := "2022-01-01T12:00:00Z"
layout := "2006-01-02T15:04:05Z"
t, err := time.Parse(layout, timeStr)
if err != nil {
fmt.Println("解析时间发生错误:", err)
return
}
fmt.Println("转换后的时间:", t)
}
```
在上面的示例中,`timeStr` 是时间字符串,`layout` 是时间字符串的格式。根据示例中的格式,我们使用 `time.Parse` 函数将时间字符串转换为 `time.Time` 类型,并将其打印出来。
你可以根据实际的时间字符串格式来修改 `layout` 的值。记得在格式中使用正确的占位符来匹配时间字符串的各个部分。更多关于时间格式的占位符和规则可以参考 Go 的官方文档:https://golang.org/pkg/time/#pkg-constants
阅读全文