helpers for handling relative and inexact time durations in go