I recently wrote a simple date implementation for a PHP project that I was contracted on:

```php
private function formatDate($date) {
    $now = time();
    $time = $now - $date;
    $output = '';

    $minute = 60;
    $hour = 3600;
    $day = $hour * 24;
    $month = $day * 30;

    if($day < $time) {
        $dayssince = $time % $month;
        if($month < $time) {
            $monthssince = ($time - $dayssince) / $month;
            $output = $monthssince . ' month';
            if($monthssince > 1)
                $output .= 's';
            $output .= ', ';
        }
        $dayssince -= $dayssince % $day;
        $dayssince /= $day;
        $output .= $dayssince . ' day';
        if($dayssince > 1)
            $output .= 's';
    } else {
        if($minute < $time) {
            $minutessince = $time % $hour;
            if($hour < $time) {
                $hourssince = ($time - $minutessince) / $hour;
                $output = $hourssince . ' hour';
                if($hourssince > 1)
                    $output .= 's';
                $output .= ', ';
            }
            $minutessince -= $minutessince % $minute;
            $minutessince /= $minute;
            $output .= $minutessince . ' minute';
            if($minutessince > 1)
                $output .= 's';
        } else
            $output = "Moments";
    }
    $output .= ' ago';
    return $output;
}
```

Probably a heck of a lot more drawn out than it needs to be because it's PHP, but it does the job in under 50 lines of code, and would be localizable with a few `gettext` calls. It could probably be condensed further if I wanted to code golf it.

The fact of the matter is that the whole point of having these simple dates is for them to be simple. If the options end up writing out a date that's longer than just outputting the ISO date format, it's of no use to the consumer of it. "2/28/14 4:30PM" is a heck of a lot more useful than "6 days, 4 hours ago". And really, who cares about those four hours. It was six days ago. Nobody cares. You could round it down to 5 and nobody would care. It's an "at a glance" convenience.

Keep it simple. If something more complicated is needed later, build it then.