Hawkee's suggestion to specify a unit of measure meant that it would be convenient if the user didn't always need to give the duration in seconds. With an option parameter $measure, you could call duration(3, 'hours'); and that bit from my previous posted would translate that into 10800 before performing the regex substitution.