Go语言时间解析程序


在Go语言中,我们可以使用各种内置时间函数来解析时间。时间解析使用`Parse`和`ParseInLocation`方法。

语法

time.Parse()

此函数属于`time`包。它用于将字符串解析为`time.Time`值,并接受两个输入:布局和要解析的时间字符串。

time.ParselnLocation()

此函数是`time`包的一部分。它用于将字符串解析为`time.Time`值以及指定的地理位置。它接受3个参数:地理位置、布局字符串和时间字符串。

time.Format()

此函数存在于`time`包中。它接受一个布局输入字符串,该字符串描述输出字符串的格式。

time.LoadLocation()

此函数属于`time`包,它用于通过返回`*time.Location`来加载地理位置。

算法

  • 步骤1 - 创建一个`main`包,并在程序中声明`fmt`(格式化包)和`time`包,其中`main`生成可执行代码,`fmt`帮助格式化输入和输出。

  • 步骤2 - 创建一个`main`函数,并使用`const`关键字说明将解析时间的格式。

  • 步骤3 - 在此步骤中,说明要解析的时间字符串,并将其赋值给`time_str`。

  • 步骤4 - 然后,使用`time`包中的`Parse`函数,使用两个输入(布局和要解析的`time_str`)来解析时间。

  • 步骤5 - 如果在解析时间时遇到任何错误,错误将打印到控制台并返回。

  • 步骤6 - 使用`Format`函数应用不同的格式,将解析后的时间打印到控制台。

  • 步骤7 - 使用`fmt`包中的`Println`函数执行打印语句,其中`ln`表示换行。

示例1

在此示例中,我们将编写一个Go语言程序,使用`Parse`方法解析时间,该方法有两个输入:布局定义打印解析时间的格式,下一个是要解析的时间字符串。

package main

import (
   "fmt"
   "time"
)

func main() {	
   const layout = "2006-01-02 15:04:05"	
   time_str := "2023-03-06 08:30:00"	
   t, err := time.Parse(layout, time_str)
   if err != nil {
      fmt.Println("Error parsing time:", err)
      return
   }	
   fmt.Println("Parsed time:", t.Format("Mon Jan 2 15:04:05 2006"))
}

输出

Parsed time: Mon Mar 6 08:30:00 2023

示例2

在此示例中,我们将编写一个Go语言程序,使用`ParseInLocation`方法解析时间,其中`LoadLocation`方法用于获取要解析时间的时区,并将获得的地理位置传递到该方法。

package main

import (
   "fmt"
   "time"
)

func main() {	
   const layout = "2006-01-02 15:04:05"	
   time_str := "2023-03-06 08:30:00"	
   loc, err := time.LoadLocation("America/New_York")
   if err != nil {
      fmt.Println("Error loading location:", err)
      return
   }	
   t, err := time.ParseInLocation(layout, time_str, loc)
   if err != nil {
      fmt.Println("Error parsing time:", err)
      return
   }	
   fmt.Println("Parsed time:", t.Format("Mon Jan 2 15:04:05 2006 MST"))
}

输出

Parsed time: Mon Mar 6 08:30:00 2023 EST

结论

我们使用两个示例执行并编译了时间解析程序。在第一个示例中,使用`Parse`方法解析时间;在第二个示例中,在`ParseInLocation`中使用时区来解析时间。

更新于:2023年4月4日

浏览量:1K+

开启你的职业生涯

通过完成课程获得认证

开始学习
广告
© . All rights reserved.