Skip to content

Limit to adjacent time units #33

@alexjurkiewicz

Description

@alexjurkiewicz

I'd like a way to limit duration strings to the first N adjacent time units.

Existing behaviour:

package main

import (
	"fmt"
	"time"

	"github.com/hako/durafmt"
)

func main() {
	duration := durafmt.Parse(2*time.Hour + 58*time.Second).LimitFirstN(2).String()
	fmt.Println(duration)
}

This returns 2 hours 58 seconds.

I don't love this behaviour because the "58 seconds" part is not important and should be truncated. But if I had 58 minutes, that would be important.

Desired behaviour:

	duration := durafmt.Parse(2*time.Hour + 58*time.Second).LimitFirstAdjacentN(2).String()

Would return 2 hours.

	duration := durafmt.Parse(2*time.Hour + 15*time.Minute).LimitFirstAdjacentN(2).String()

Would return 2 hours 15 minutes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions