print_r( DateTime::difference( 'now', 'January 1, 2010' ) );
output (past): Array ( [invert] => [y] => 0 [m] => 9 [w] => 3 [d] => 5 [h] => 22 [i] => 33 [s] => 5 )
print_r( DateTime::difference( 'now', 'January 1, 2011' ) );
output (future): Array ( [invert] => 1 [y] => 0 [m] => 2 [w] => 0 [d] => 3 [h] => 5 [i] => 33 [s] => 11 )
If 'invert' is true, the time is in the future (ie: x from now). If it is false, the time is in the past (ie: x ago).
For more information, see PHP's DateInterval class, which this and friendly() attempt to emulate for < PHP 5.3