📅  最后修改于: 2023-12-03 15:15:23.361000             🧑  作者: Mango
在 Golang 中,可以使用 time
包来处理时间相关的操作。其中,包括时间的解析与格式化。
时间的解析可以使用 time.Parse()
函数来实现。该函数接受两个参数:一个时间格式字符串和一个待解析的时间字符串。例如:
package main
import (
"fmt"
"time"
)
func main() {
layout := "2006-01-02 15:04:05"
str := "2022-01-01 12:00:00"
t, err := time.Parse(layout, str)
if err != nil {
fmt.Println(err)
}
fmt.Println(t)
}
上述代码中,我们指定时间格式字符串为 2006-01-02 15:04:05
,时间字符串为 2022-01-01 12:00:00
。通过 time.Parse()
函数解析后,返回一个 time.Time
类型的时间对象。
时间的格式化与时间的解析相反,可以使用 time.Time
的 Format()
方法来实现。该方法接受一个时间格式字符串,返回一个格式化后的时间字符串。例如:
package main
import (
"fmt"
"time"
)
func main() {
layout := "2006-01-02 15:04:05"
str := "2022-01-01 12:00:00"
t, err := time.Parse(layout, str)
if err != nil {
fmt.Println(err)
}
fmt.Println(t.Format(layout))
}
上述代码中,我们使用 time.Parse()
函数将时间字符串解析为时间对象后,使用 t.Format(layout)
方法将时间格式化为指定的时间字符串格式。
在 Golang 中,可以使用 time.Time
的一些方法来进行时间的计算。例如,可以使用 Add()
方法来增加时间,使用 Sub()
方法来计算时间差等等。例如:
package main
import (
"fmt"
"time"
)
func main() {
layout := "2006-01-02 15:04:05"
str := "2022-01-01 12:00:00"
t, err := time.Parse(layout, str)
if err != nil {
fmt.Println(err)
}
d := 24 * time.Hour // 定义一天
// 增加一天
t = t.Add(d)
fmt.Println(t.Format(layout))
// 计算时间差
now := time.Now()
diff := now.Sub(t)
fmt.Println(diff)
}
上述代码中,我们使用 time.Now()
函数获取当前时间,然后通过计算时间差,输出时间差。另外,我们也使用 24 * time.Hour
的方式定义了一天的时间对象,可以在进行时间增加等操作时调用。
以上就是 Golang 中的解析时间的相关介绍。通过 time
包提供的方法,可以方便地进行时间的解析、格式化和计算等操作。