Help us shape the future of Go! Take the 2026 Go Developer Survey

human_duration

package module
v1.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 11, 2019 License: MIT Imports: 4 Imported by: 3

README

Human Duration Build Status GoDoc

A little Go util to print duration strings in a human-friendly format

Docs

The String function takes a Duration and the precision that's important to the user.

The allowed precisions are year, day, hour, minute and second

Usage

import "github.com/davidbanham/human_duration"

example := time.Hour * 24 + time.Minute * 4 + time.Second * 8

fmt.Println(human_duration.String(example, "second")) // 1 day 4 minutes 8 seconds
fmt.Println(human_duration.String(example, "minute")) // 1 day 4 minutes
fmt.Println(human_duration.String(example, "day"))    // 1 day

day := time.Hour * 24
year := day * 365

longExample := year * 4 + day * 2

fmt.Println(human_duration.String(longExample, "second")) // 4 years 2 days

There are more examples in the tests.

Credit

Adapted and extended from (this gist)[https://gist.github.com/harshavardhana/327e0577c4fed9211f65]

Documentation

Overview

Package human_duration provides human readable output of time.Duration

Index

Examples

Constants

View Source
const (
	Second = "second"
	Minute = "minute"
	Hour   = "hour"
	Day    = "day"
	Year   = "year"
)

Available precisions

Variables

This section is empty.

Functions

func String

func String(duration time.Duration, precision string) string

String converts duration to human readable format, according to precision. Example:

fmt.Println(human_duration.String(time.Hour*24), human_duration.Hour)
Example
duration := time.Hour*24*365 + time.Hour*8 + time.Minute*33 + time.Second*24
fmt.Println(String(duration, Second))

start, _ := time.Parse(time.RFC3339, "2012-11-01T22:08:41+00:00")
stop, _ := time.Parse(time.RFC3339, "2013-12-04T23:09:42+00:00")

fmt.Println(String(stop.Sub(start), Second))
Output:
1 year 8 hours 33 minutes 24 seconds
1 year 33 days 1 hour 1 minute 1 second

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL