Signup/Sign In
PUBLISHED ON: FEBRUARY 17, 2023

time package Golang

The time package in Go is a core package that provides time and date related functionality. It contains types and functions for working with time, calendars, time zones, and durations. The time package is useful for tasks such as measuring the execution time of a program, formatting dates and times, or converting between time zones.

Working with time and date

The time package provides the Time type, which represents a specific point in time. The Time type has methods for getting the current time, formatting the time, or performing calculations with time. Here is an example of using the Time type to get the current time and format it:

package main

import (
    "fmt"
    "time"
)

func main() {
    // Get the current time
    now := time.Now()

    // Format the time using a predefined layout
    fmt.Println(now.Format(time.RFC822)) // Output: 09 Nov 20 13:15 +0000

    // Format the time using a custom layout
    fmt.Println(now.Format("2006-01-02 15:04:05")) // Output: 2020-11-09 13:15:00
}

In the example above, the now variable is used to get the current time, and then the Format method is called to convert the time to a string using a predefined layout and a custom layout.

Measuring execution time

The time package also provides the Since and Until functions, which can be used to measure the elapsed time since or until a specific point in time. Here is an example of using these functions to measure the execution time of a function:

package main

import (
    "fmt"
    "time"
)

func longRunningFunction() {
    // Simulate a long running function by sleeping for 2 seconds
    time.Sleep(2 * time.Second)
}

func main() {
    // Get the current time
    start := time.Now()

    // Call the long running function
    longRunningFunction()

    // Get the elapsed time since the start time
    elapsed := time.Since(start)

    // Print the elapsed time in seconds
    fmt.Printf("Elapsed time: %.2f seconds\n", elapsed.Seconds()) // Output: Elapsed time: 2.00 seconds
}

In the example above, the start variable is used to get the current time before calling the longRunningFunction, and then the Since function is used to calculate the elapsed time since the start time. The elapsed time is then printed in seconds.

Conclusion

In conclusion, the time package in Go provides a convenient way to work with time and date related functionality. It contains types and functions for getting the current time, formatting dates and times, performing calculations with time, and measuring execution time. The time package is a valuable tool for any Go developer working with time and date data.



About the author:
Pradeep has expertise in Linux, Go, Nginx, Apache, CyberSecurity, AppSec and various other technical areas. He has contributed to numerous publications and websites, providing his readers with insightful and informative content.