使用time.Split函数将字符串解析为时间格式(1/4)
日期和时间是程序中常用的数据类型,因此时间转换是编程中很重要的一部分。在Go语言中,我们可以使用time包的函数来处理时间相关数据。time包中的函数包括时间的格式化、解析、获取当前时间等,其中time.Split函数可以将字符串解析为时间格式,并返回日期和时间部分。
func Split(s, sep string) (words []string)
time.Split函数接受两个参数,第一个是需要解析的字符串s,第二个是指定的分隔符。该函数会先根据指定的分隔符将字符串s分割成若干个子串,并返回一个由这些子串组成的切片。
使用time.Split函数将字符串解析为时间格式(2/4)
下面是一个简单的例子,通过输入格式2006-01-02 15:04:05来解析时间字符串2019-01-10 15:11:23:
package main
import (
"fmt"
"strings"
"time"
)
func main() {
str := "2019-01-10 15:11:23"
timeList := strings.Split(str, " ")
date := timeList[0]
timeStr := timeList[1]
t, _ := time.Parse("2006-01-02 15:04:05", str)
fmt.Println(date) // 2019-01-10
fmt.Println(timeStr) // 15:11:23
fmt.Println(t.Year(), t.Month(), t.Day(), t.Hour(), t.Minute(), t.Second(), t.Nanosecond(), t.Location()) // 输出: 2019 January 10 15 11 23 0 UTC
}
在上述例子中,我们首先使用strings.Split函数将时间字符串str分成日期和时间两个部分。然后,我们使用time.Parse函数来将原始的时间字符串解析为time.Time类型。最后,使用.time.Time的相关方法,我们可以获取时间的年、月、日、时、分、秒、纳秒和时区等信息。
使用time.Split函数将字符串解析为时间格式(3/4)
除了使用字符串分割的方式来获取日期和时间部分,我们也可以直接使用time.Format函数来格式化time.Time类型的时间对象。
package main
import (
"fmt"
"time"
)
func main() {
timeStr := "2021-05-20 20:45:12"
t, err := time.Parse("2006-01-02 15:04:05", timeStr)
if err != nil {
fmt.Println("Error ", err)
}
date := t.Format("2006-01-02")
time := t.Format("15:04:05")
fmt.Println(date) // 2021-05-20
fmt.Println(time) // 20:45:12
}
在上述例子中,我们首先将时间字符串解析为time.Time类型的对象t,然后使用t.Format()函数分别获取日期和时间部分,并输出出来。
使用time.Split函数将字符串解析为时间格式(4/4)
总之,在处理时间格式的时候,通过time包提供的函数,我们可以很方便地对时间相关数据进行解析、格式化、计算,进而实现我们需要的功能。