使用time.Split函数将字符串解析为时间格式,并返回日期和时间部分

使用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包提供的函数,我们可以很方便地对时间相关数据进行解析、格式化、计算,进而实现我们需要的功能。

后端开发标签