Golang程序 演示时间算术

Golang程序 演示时间算术

我们将使用Go编程语言中时间包中的Now函数来计算当前时间,以演示时间算术。时间算术是使用数学函数计算的。在这两个例子中,我们将使用数学计算,用Sub函数找到过去、未来和持续时间。使用fmt包中的Println函数打印输出结果。

语法

func Now() Time

Now() 函数被定义在时间包中。这个函数生成了当前的本地时间。为了使用这个函数,我们必须首先在我们的程序中导入时间包。

func sub()

这个函数是时间包的一部分。它用于计算两个time.Time值之间的持续时间。

time.Hour()

这个方法是时间包的一部分。它被用来获取当前的小时数,作为time.Hour值。

算法

  • 在程序中导入所需的包

  • 创建一个主函数

  • 在主函数中使用时间包中的Now函数找到当前时间

  • 使用内置的函数和数学逻辑计算未来、过去和持续时间

  • 在控制台打印当前时间、未来时间、过去时间和持续时间

  • 使用 fmt 包中的 Println 函数执行打印语句。

例1

在这个例子中,将使用时间包中的Now函数计算当前时间。然后,未来时间将通过在当前时间上添加3小时的时间来计算,过去时间将通过从未来时间中减去2天的时间来计算,过去时间和当前时间之间的差异将使用Sub函数计算。所有这些值都用Println函数打印在控制台。

//Golang program to demonstrate the time arithmetic
package main
import (
   "fmt"
   "time"
)

//Main function to execute the program
func main() {

   current_time := time.Now() //find the current time using Now function

   // Add a duration of 3 hours to now
   future := current_time.Add(3 * time.Hour)

   // Subtract a duration of 2 days from future
   past := future.Add(-2 * 24 * time.Hour)

   // Calculate the difference between past and current_time
   duration := current_time.Sub(past)

   // Print the values calculated above
   fmt.Println("Now:", current_time)
   fmt.Println("Future:", future)
   fmt.Println("Past:", past)
   fmt.Println("Duration between past and now:", duration)
}

输出

Now: 2023-02-28 09:31:56.827693083 +0000 UTC m=+0.000016893
Future: 2023-02-28 12:31:56.827693083 +0000 UTC m=+10800.000016893
Past: 2023-02-26 12:31:56.827693083 +0000 UTC m=-161999.999983107
Duration between past and now: 45h0m0s

例2

在这个例子中,我们将和上一个例子一样,使用Now函数计算当前时间。未来的时间将通过在当前时间上增加10分钟来计算。然后,从未来时间中减去1小时,得到过去的时间,然后用Sub函数计算过去和当前时间的持续时间。所有的计算值都将被打印在控制台。让我们看一下代码。

package main
import (
   "fmt"
   "time"
)

func main() {

   current_time := time.Now() //calculate the current time using the Now function

   // Add 10 minutes to the current time
   future := current_time.Add(10 * time.Minute)

   // Subtract 1 hour from the future time
   past := future.Add(-1 * time.Hour)

   // Calculate the duration between past and now
   duration := current_time.Sub(past)

   // Print the values calculated above
   fmt.Println("Now:", current_time)
   fmt.Println("Future:", future)
   fmt.Println("Past:", past)
   fmt.Println("Duration between past and now:", duration)
}

输出

Now: 2023-02-28 09:33:53.548874654 +0000 UTC m=+0.000018376
Future: 2023-02-28 09:43:53.548874654 +0000 UTC m=+600.000018376
Past: 2023-02-28 08:43:53.548874654 +0000 UTC m=-2999.999981624
Duration between past and now: 50m0s

结论

我们执行并编译了使用两个例子演示时间运算的程序。在这两个例子中,我们使用不同的数学逻辑和Sub函数来计算过去、未来、当前时间和持续时间,这对寻找持续时间很有帮助。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程